JS实现的RC4加密算法示例


Posted in Javascript onAugust 16, 2018

本文实例讲述了JS实现的RC4加密算法。分享给大家供大家参考,具体如下:

RC4是一种简单的对称加密算法,在文本加密,通信加密等场景应用非常广泛。

在Web中可以用来对本地存储数据进行加密,比如存储cookie中的用户名和密码,敏感信息等。

以下是本人根据其思想基于JS实现的算法。

//var ctext = rc4("我是明文","我是密码");
//var text = rc4(ctext, "我是密码");
function rc4(data, key) {
  var seq = Array(256); //int
  var das = Array(data.length); //code of data
  for (var i = 0; i < 256; i++) {
    seq[i] = i;
    var j = (j + seq[i] + key.charCodeAt(i % key.length)) % 256;
    var temp = seq[i];
    seq[i] = seq[j];
    seq[j] = temp;
  }
  for (var i = 0; i < data.length; i++) {
    das[i] = data.charCodeAt(i)
  }
  for (var x = 0; x < das.length; x++) {
    var i = (i + 1) % 256;
    var j = (j + seq[i]) % 256;
    var temp = seq[i];
    seq[i] = seq[j];
    seq[j] = temp;
    var k = (seq[i] + (seq[j] % 256)) % 256;
    das[x] = String.fromCharCode(das[x] ^ seq[k]);
  }
  return das.join('');
}
Javascript 相关文章推荐
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
jQuery遍历之next()、nextAll()方法使用实例
Nov 08 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
angular 用拦截器统一处理http请求和响应的方法
Jun 08 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
tracking.js页面人脸识别插件使用方法
Apr 16 Javascript
浅谈Javascript中的对象和继承
Apr 19 Javascript
微信小程序 this.triggerEvent()的具体使用
Dec 10 Javascript
Vite和Vue CLI的优劣
Jan 30 Vue.js
vue2.0父子组件间传递数据的方法
Aug 16 #Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 #Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 #Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 #Javascript
layui问题之模拟select点击事件的实例讲解
Aug 15 #Javascript
深入理解Vue router的部分高级用法
Aug 15 #Javascript
JS打印彩色菱形的实例代码
Aug 15 #Javascript
You might like
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
详细探究Python中的字典容器
2015/04/14 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
python如何让类支持比较运算
2018/03/20 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
中间件分为哪几类
2012/03/14 面试题
医学专业毕业生个人的求职信
2013/12/04 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
购房协议书范本
2014/10/02 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js
python热力图实现的完整实例
2022/06/25 Python