安装依赖
npm install crypto-js
在文件中引入使用
方法中的key 和iv是根据自己项目而定,可同可异,下方则是key 和iv是一样的。
import Cryptojs from 'crypto-js'
let CryptoJSKey = "0f90023fc9ae1013"
//AES加密传参
export function Encrypt(word) {
let key = CryptoJSKey;//密钥
let iv = CryptoJSKey;//密钥偏移量
key = CryptoJS.enc.Utf8.parse(key);
iv = CryptoJS.enc.Utf8.parse(iv);
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString()
}
// 返回结果解密
export function Decrypt(word) {
let key = CryptoJSKey;
let iv = CryptoJSKey;
key = CryptoJS.enc.Utf8.parse(key);
iv = CryptoJS.enc.Utf8.parse(iv);
let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
// HmacMD5加密
export function HMACShaEncrypt(word) {
let key = CryptoJSKey;
return CryptoJS.HmacMD5(word, key).toString().toUpperCase()
}