JavaScript加密库Crypto-JS的使用

jack230230 2012-08-10 10:15:55
先来图片一张,看看效果(一个采用Crypto-JS实现的工具展示):
CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。目前已支持的算法包括:

MD5
SHA-1
SHA-256
AES
Rabbit
MARC4
HMAC
HMAC-MD5
HMAC-SHA1
HMAC-SHA256
PBKDF2

散列/哈希

CryptoJS是一个纯javascript写的加密类库(下载),我们使用它只需要加入相关的引用即可:

散列/哈希示例1
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/md5.js"></script>
<script type="text/javascript">

alert("你好,欢迎来到开源中国在线工具,这是一个MD5测试 MD5:"+CryptoJS.MD5("你好,欢迎来到开源中国在线工具,这是一个MD5测试"));

</script>

点此编辑代码并查看执行效果
上面就一行代码就可以轻松搞定一个MD5的哈希,使用非常方便。

同样,如果你想进行sha1、sha256等等诸多哈希算法,只需要引入相关的库就行了。

对于 HMAC-sha1 、HMAC-sha256、HMAC-md5等,用法是这样:

散列/哈希示例2
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/hmac-md5.js"></script>
<script type="text/javascript">
var pwd="password";
alert("你好,欢迎来到开源中国在线工具,这是一个MD5测试 Hmac-MD5: "+CryptoJS.HmacMD5("你好,欢迎来到开源中国在线工具,这是一个MD5测试",pwd));

</script>


点此编辑代码并查看执行效果
PBKDF2哈希算法

这里将PBKDF2算法单独列出来,是因为他稍有不同,看如下代码:

散列/哈希示例3
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/pbkdf2.js"></script>
<script type="text/javascript">

var salt=CryptoJS.enc.Utf8.parse("salt"); //盐

var iter=1000; //迭代次数

var mi=CryptoJS.PBKDF2("你好,欢迎来到开源中国在线工具,这是一个PBKDF2测试", salt,
{ keySize: parseInt(4),
iterations: parseInt(iter) }
);

alert("你好,欢迎来到开源中国在线工具,这是一个PBKDF2测试:----------哈希值:"+mi);

</script>


点此编辑代码并查看执行效果

加密/解密

加密解密示例1:
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/components/core-min.js"></script>
<script type="text/javascript" src="http://www.osctools.net/js/CryptoJS/rollups/aes.js"></script>
<script type="text/javascript">
var pwd="我的密码";

var mi=CryptoJS.AES.encrypt("你好,欢迎来到开源中国在线工具,这是一个AES加密测试",pwd);
alert("你好,欢迎来到开源中国在线工具,这是一个AES加密测试----密文:"+mi);

var result=CryptoJS.AES.decrypt(mi,pwd).toString(CryptoJS.enc.Utf8);

alert("解密结果:"+result);

</script>

点此编辑代码并查看执行效果

同样的,几种加密算法的使用方法都比较类似,需要使用哪个引入相关的js文件就ok了。

这里的在线加密/解密,散列/哈希工具是使用这个库构建的:http://www.osctools.net/encrypt
...全文
15319 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
关于Base64编码的难题,请高手进来帮忙 http://bbs.csdn.net/topics/390811420
xiaoyaoju 2014-05-28
  • 打赏
  • 举报
回复
链接是国外的么,看不了
nitaiyoucala 2014-05-28
  • 打赏
  • 举报
回复
牛逼啊啊 顶一个

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧