一、安装
npm i crypto-js
二、封装方法
import CryptoJS from "crypto-js";
const secretKey = "5405****778e38****fe5a12****b4ce";
const iv = "solu********tion";
const getOriginStr = (value, encWay = "Utf8") => {
return CryptoJS.enc[encWay].parse(value);
};
export const encrypt = (
word,
key = secretKey,
offset = iv,
mode = "CBC",
padding = "Pkcs7",
encryption = "AES",
encWay = "Utf8"
) => {
const utfWord = getOriginStr(word, encWay);
const utfKey = getOriginStr(key, encWay);
const utfOffset = getOriginStr(offset, encWay);
const encrypted = CryptoJS[encryption].encrypt(utfWord, utfKey, {
iv: utfOffset,
mode: CryptoJS.mode[mode],
padding: CryptoJS.pad[padding],
});
return encrypted.toString();
};
export const decrypt = (
word,
key = secretKey,
offset = iv,
mode = "CBC",
padding = "Pkcs7",
encryption = "AES",
encWay = "Utf8"
) => {
const utfKey = getOriginStr(key, encWay);
const utfOffset = getOriginStr(offset, encWay);
const decrypted = CryptoJS[encryption].decrypt(word, utfKey, {
iv: utfOffset,
mode: CryptoJS.mode[mode],
padding: CryptoJS.pad[padding],
});
return decrypted.toString(CryptoJS.enc.Utf8);
};