JavaScript中实现AES加密解密
类别:Web前端 浏览量:2047
时间:2016-8-4 JavaScript中实现AES加密解密
JavaScript中实现AES加密解密方式一、加解密时需要秘钥(key)和秘钥偏移量(iv)
1、下载AES加密解密插件 (aes_1.js)
下载地址:https://github.com/hellobajie/AES-of-JavaScript
2、将该js文件引用到项目中
3、实例
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>需要秘钥(key)及秘钥偏移量(iv)的aes加解密</title>
</head>
<body>
<script src="aes_1.js"></script>
<script>
var key = CryptoJS.enc.Utf8.parse("十六位十六进制数作为秘钥");
var iv = CryptoJS.enc.Utf8.parse('十六位十六进制数作为秘钥偏移量');
function Encrypt(word){
srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
return encrypted.ciphertext.toString().toUpperCase();
}
function Decrypt(word){
var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
var decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
var mm = Encrypt('nihao')
console.log(mm);
var jm = Decrypt(mm);
console.log(jm)
</script>
</body>
</html>
方式二、加解密时仅需要秘钥
1、下载AES加密解密插件 (aes_2.js)
下载地址:https://github.com/hellobajie/AES-of-JavaScript
2、将该js文件引用到项目中
3、实例
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>加解密时仅需要秘钥</title>
</head>
<body>
<script src="aes_2.js"></script>
<script type="text/javascript">
var pwd="秘钥";
function Encrypt(word){
return CryptoJS.AES.encrypt(word,pwd).toString();
}
function Decrypt(word){
return CryptoJS.AES.decrypt(word,pwd).toString(CryptoJS.enc.Utf8);
}
var mm = Encrypt('nihao');
console.log(mm)
var jm = Decrypt(mm);
console.log(jm)
</script>
</body>
</html>
标签:JavaScript您可能感兴趣
- vue走马灯特效(Javascript结合Vue实现对任意迷宫图片的自动寻路)
- 用js编写tab栏切换(JavaScript实现简易tab栏切换内容栏)
- JavaScript中使用concat合并数组
- javascript将字符串转换成数组(如何将JavaScript将数组转为树形结构)
- javascript弹出菜单(Javascript实现简易导航栏)
- js回调函数原理(关于JavaScript回调函数的深入理解)
- js怎么做一个计时器(JavaScript实现简单计时器)
- JavaScript中实现AES加密解密
- 在html中使用javascript实例代码(原生 JS+CSS+HTML 实现时序图的方法)
- javascript编程中的promise(JavaScript如何利用Promise控制并发请求个数)
- 用javascript设计五子棋(JavaScript实现网页版五子棋游戏)
- js实现继承的五种(JavaScript继承的三种方法实例)
- javascript如何跨域
- web中如何预防xss攻击(详解前端安全之JavaScript防http劫持与XSS)
- javascript如何判断类型(JavaScript如何优化逻辑判断代码详解)
- js的模块模式设计(如何理解JavaScript模块化)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
- 赏读 八月再见,九月你好(赏读八月再见九月你好)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
热门推荐
- 购买了阿里云服务器之后怎么使用(阿里云服务器怎么买?阿里云服务器购买流程)
- python3html怎么转换成pdf(Python实现html转换为pdf报告生成pdf报告功能示例)
- element-ui 菜单悬停样式(js如何构造elementUI树状菜单的数据结构详解)
- 如何布局网站的广告位
- php7处理方案(PHP7 安装event扩展的实现方法)
- docker阿里云服务器教程(Docker安装阿里云服务器和在虚拟机安装遇到的坑问题小结)
- docker容器端口和内部进程(Docker动态给容器Container暴露端口操作)
- docker清理占用空间(docker清理大杀器/docker的overlay文件占用磁盘太大的解决)
- vue组件开发步骤(解析如何自动化生成vue组件文档)
- vue原样表格导出excel(Vue导出Excel功能的全过程记录)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9