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中使用inline函数的问题
Mar 08 Javascript
小米公司JavaScript面试题
Dec 29 Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
node中的cookie的具体使用
Sep 13 Javascript
详解vuex 渐进式教程实例代码
Nov 27 Javascript
微信小程序实现展示评分结果功能
Feb 15 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
Jul 23 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 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
天津市收音机工业发展史
2021/03/04 无线电
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
司机岗位职责
2013/11/15 职场文书
财务会计应届生求职信
2013/11/24 职场文书
保护母亲河倡议书
2014/04/14 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
计划生育证明书写要求
2014/09/17 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
六年级小学生评语
2014/12/26 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书