RC4加密算法的JS实现

标签: rc4 加密算法 js | 发表时间:2012-05-25 22:12 | 作者:刘联东
出处:http://www.cnblogs.com/

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('');

}

本文链接

相关 [rc4 加密算法 js] 推荐:

RC4加密算法的JS实现

- - 博客园_首页
RC4是一种简单的对称加密算法,在文本加密,通信加密等场景应用非常广泛. 在Web中可以用来对本地存储数据进行加密,比如存储cookie中的用户名和密码,敏感信息等. 以下是本人根据其思想基于JS实现的算法. //var  ctext = rc4("我是明文","我是密码");. //var text = rc4(ctext, "我是密码");.

Ubuntu 编译 Linux 3.0-rc4

- zyhong17 - Wow! Ubuntu
Linux 内核经过漫长的 2.6 版本之后终于主版本+1了,现在已放出 3.0 RC4 版,最近又有消息称 3.0 会比 2.6.39 快,喜欢折腾的你又不介意当小白鼠的话不妨试试下载 Linux Kernel 3.0 的源代码自己编译. 下面简单讲一下在 Ubuntu 10.10 编译 Linux Kernel 3.0 RC4 的过程.

银联加密算法

- - CSDN博客推荐文章
很多人对银联卡的加密算法感兴趣,毕竟分分钟涉及的都是你的钱的安全,但网上很少人却讲银联标准加密算法. 遂写一遍当做是自己的学习笔记,偶尔忘了可以翻翻,同时希望能够帮助到其他人. 首先要认识一下cbc算法和ecb算法. cbc算法是链式的,慢,不可并行处理,但更安全,因为每一次加密都是依赖于上一次的结果,同时这也会导致一次错将导致后面的全部错误.

AES加密算法动画演示

- Charles - 酷壳 - CoolShell.cn
波士顿大学的Howard Straubing做了这么一个动画来展示AES加密算法的演示,挺不错的. 2009年08月10日 -- 几个有趣的漫画. 2010年04月23日 -- McAfee误杀svchost.exe. 2010年05月23日 -- (麻省理工免费课程)C语言内存管理和C++面向对象编程.

AES加密算法强度被削弱

- sec314 - cnBeta.COM
密码学研究者在AES加密算法中发现一处弱点,这使得破解密钥的速度比以前更快了. 发现这个弱点的是三个大学中的研究人员以及微软公司,他们进行了大量的密码学分析,但这个研究结果仍然不能形成什么实际的安全威胁――这反而让人更加放心了.

Javascript常见加密算法库

- - 脚本爱好者
CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法. CryptoJS在Google Code上的主页是: http://code.google.com/p/crypto-js/.

简单、高效加密算法TEA

- - 互联网 - ITeye博客
TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码. (1)客户端桌面程序或手机程序与服务端接口交互,可以使用TEA来进行加密,保证传输信息的私密性. 如:OICQ的数据安全采用了TEA算法,QQ通讯也大量使用了TEA算法. (2)存储在本地的用户私密信息,可以采用TEA加密算法.

HTTPS背后的加密算法

- - 博客园_知识库
  当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信. InfoQ的这篇 文章对此有非常详细的描述. 这些复杂的步骤的第一步,就是浏览器与服务器之间协商一个在后续通信中使用的密钥算法. 浏览器把自身支持的一系列Cipher Suite(密钥算法套件,后文简称Cipher)[C1,C2,C3, …]发给服务器;.

WebView JS 交互

- - ITeye博客
WebView加jquery做页面会怎么样呢. // 创建WebView对象. // 把programList添加到js的全局对象window中,. // 这样就可以使用window.programList来获取数据. * 定义js回调java函数. // 绑定键盘的向上,向下按钮事件触发相应的js事件.

JS游戏引擎

- 米随随 - HTML5研究小组
If you don’t have anything better to do and want to help fellow redditors interested in JS game dev out, feel free to fork the list and modify it as you like.