vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)


Posted in Javascript onAugust 12, 2019

vue项目中使用AES实现密码加密解密

区别

ECB:是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。

CBC:是一种循环模式,前一个分组的密文和当前分组的明文异或或操作后再加密,这样做的目的是增强破解难度。(不容易主动攻击,安全性好于ECB,是SSL、IPSec的标准)

代码实现

先安装 crypto-js

npm install crypto-js --save-dev

ECB模式:

import CryptoJS from "crypto-js";

export default {
 // 加密
 encrypt(word, keyStr) {
 keyStr = keyStr ? keyStr : "absoietlj32fai12";
 let key = CryptoJS.enc.Utf8.parse(keyStr);
 let srcs = CryptoJS.enc.Utf8.parse(word);
 let encrypted = CryptoJS.AES.encrypt(srcs, key, {
 mode: CryptoJS.mode.ECB,
 padding: CryptoJS.pad.Pkcs7
 });
 return encrypted.toString();
 },
 // 解密
 decrypt(word, keyStr) {
 keyStr = keyStr ? keyStr : "absoietlj32fai12";
 var key = CryptoJS.enc.Utf8.parse(keyStr);
 var decrypt = CryptoJS.AES.decrypt(word, key, {
 mode: CryptoJS.mode.ECB,
 padding: CryptoJS.pad.Pkcs7
 });
 return CryptoJS.enc.Utf8.stringify(decrypt).toString();
 }
};

CBC模式:

import CryptoJS from "crypto-js";

export default {
 // 加密
 encrypt(word, keyStr, ivStr) {
 keyStr = keyStr ? keyStr : "absoietlj32fai12";
 ivStr = ivStr ? ivStr : "absoietlj32fai12";
 let key = CryptoJS.enc.Utf8.parse(keyStr);
 let iv = CryptoJS.enc.Utf8.parse(ivStr);
 let srcs = CryptoJS.enc.Utf8.parse(word);

 let encrypted = CryptoJS.AES.encrypt(srcs, key, {
 iv,
 mode: CryptoJS.mode.CBC,
 padding: CryptoJS.pad.ZeroPadding
 });
 return encrypted.toString();
 },
 // 解密
 decrypt(word, keyStr, ivStr) {
 keyStr = keyStr ? keyStr : "absoietlj32fai12";
 ivStr = ivStr ? ivStr : "absoietlj32fai12";
 var key = CryptoJS.enc.Utf8.parse(keyStr);
 let iv = CryptoJS.enc.Utf8.parse(ivStr);

 var decrypt = CryptoJS.AES.decrypt(word, key, {
 iv,
 mode: CryptoJS.mode.CBC,
 padding: CryptoJS.pad.ZeroPadding
 });
 return decrypt.toString(CryptoJS.enc.Utf8);
 }
};

以上两种模式中的 keyStr 的长度要不小于14位,否则解密时会显示空白

总结

以上所述是小编给大家介绍的vue项目中使用AES实现密码加密解密(ECB和CBC两种模式),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
Apr 13 Javascript
js实现精确到秒的日期选择器完整实例
Apr 30 Javascript
JavaScript跨域调用基于JSON的RESTful API
Jul 09 Javascript
深入学习js瀑布流布局
Oct 14 Javascript
jQuery实现的背景颜色渐变动画效果示例
Mar 24 jQuery
史上最为详细的javascript继承(推荐)
May 18 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
Sep 06 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
JavaScript常用工具函数大全
May 06 Javascript
详解json串反转义(消除反斜杠)
Aug 12 #Javascript
json 带斜杠时如何解析的实现
Aug 12 #Javascript
electron实现静默打印的示例代码
Aug 12 #Javascript
微信小程序 弹窗输入组件的实现解析
Aug 12 #Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 #Javascript
ElementUI radio组件选中小改造
Aug 12 #Javascript
Vue 3.0 前瞻Vue Function API新特性体验
Aug 12 #Javascript
You might like
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
第七章 php自定义函数实现代码
2011/12/30 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
PHP7内核之Reference详解
2019/03/14 PHP
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
综合测评自我鉴定
2013/10/08 职场文书
学习十八大精神心得体会
2013/12/31 职场文书
拉拉队口号
2014/06/16 职场文书
同意迁入证明模板
2014/10/26 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
干部个人考察材料
2014/12/24 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
债务纠纷代理词
2015/05/25 职场文书
雷锋观后感
2015/06/10 职场文书
礼貌问候语大全
2015/11/10 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书