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您可能感兴趣
- javascript的作用域详解精简版(浅谈JavaScript 中的延迟加载属性模式)
- javascript页面滚动窗口(javascript实现简单滚动窗口)
- javascript中图片轮播效果代码(JavaScript实现简单的轮播图效果)
- html注册表单验证代码(JavaScript+html实现前端页面随机二维码验证)
- javascript中还原append代码(JS实现jQuery的append功能)
- javascript如何获取后台数据(JavaScript实现异步获取表单数据)
- 用javascript解析json(JavaScript JSON.stringify的使用总结)
- js宏任务都有哪些(JavaScript 操作宏任务与微任务)
- javascript动作事件有哪些(JavaScript之事件循环案例讲解)
- javascript作用域实例(JavaScript defineProperty如何实现属性劫持)
- javascript的执行顺序
- jquery留言板代码(JavaScript实现留言板添加删除留言)
- mvc JavaScriptResult的用法
- js三级联动列表(基于JavaScript实现年月日三级联动)
- javascript 数据分析(利用JavaScript差集实现一个对比小工具)
- javascript将字符串转换成数组(如何将JavaScript将数组转为树形结构)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
热门推荐
- sqlserver如何生成xml文件(实现SQL Server 原生数据从XML生成JSON数据的实例代码)
- python模块光照强度(我如何用 CircuitPython 和开源工具监控温室)
- 在VS中按F12转到DLL文件定义的源代码
- androidjpg图像处理(详解如何使用image-set适配移动端高清屏图片)
- DateTime.ToString 格式化时间字符串
- laravel使用队列(基于laravel where的高级使用方法)
- python采集微信电脑端聊天信息(利用Python实现微信找房机器人实例教程)
- vue 父组件传值(Vue两个同级组件传值实现)
- js数组去重的十种方法(JavaScript常用数组去重实战源码)
- sql server查询操作怎么做(sqlserver分页查询处理方法小结)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9