// js 代码块
1. crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密,我们可以采用 npm install crypto-js --save 进行下载安装
2. 安装插件 npm install crypto-js
3. import CryptoJS from "crypto-js";
// 十六位十六进制数作为秘钥
let key = "9CF181E2CD72F8E6"; //CryptoJS.enc.Utf8.parse();
// 十六位十六进制数作为秘钥偏移量
let iv = CryptoJS.enc.Utf8.parse("6666666666666666");
// 加密
Encrypt(content) {
var sKey = CryptoJS.enc.Utf8.parse(key);
var sContent = CryptoJS.enc.Utf8.parse(content);
var encrypted = CryptoJS.AES.encrypt(sContent, sKey, {
iv: iv,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
},
// 解密
Decrypt(content) {
var sKey = CryptoJS.enc.Utf8.parse(key);
var decrypt = CryptoJS.AES.decrypt(content, sKey, {
iv: iv,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
上面的代码中的 key 是密钥 ,iv 是密钥偏移量,这个一般是接口返回的,为了方便,我们这里就直接在这里定义了。
值得注意的是密钥的长度,由于对称解密使用的算法是 AES-128-CBC算法,数据采用 PKCS#7 填充 , 因此这里的 key 需要为16位!