当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)

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

2019年09月06日  | 移动技术网IT编程  | 我要评论

在线日语学习,同居的目的迅雷下载,浙江安吉

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两种模式),希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网