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 相关文章推荐
jquery lazyload延迟加载技术的实现原理分析
Jan 24 Javascript
js中的setInterval和setTimeout使用实例
May 09 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
May 30 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
js 调用百度分享功能
Feb 27 Javascript
详解JS中的attribute属性
Apr 25 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 Javascript
webpack的 rquire.context用法实现工程自动化的方法
Feb 07 Javascript
vue实现购物车加减
May 30 Javascript
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
PHP中for循环语句的几种变型
2006/11/26 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
jQuery事件详解
2017/02/23 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
页面点击小红心js实现代码
2018/05/26 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
浅谈Python的垃圾回收机制
2016/12/17 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
小学班干部竞选演讲稿
2014/04/24 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书