一、 crypto-js 加密、解密使用方法
1. 安装crypto-js
npm install crypto-js
2. 引入crypto-js
const CryptoJS = require("crypto-js");
3. 设置密钥和密钥偏移量
const SECRET_KEY = CryptoJS.enc.Utf8.parse("1234123412341234");
const SECRET_IV = CryptoJS.enc.Utf8.parse("1234123412341234");
4. 封装加密方法
export function encrypt(data) {
if (typeof data === "object") {
try {
data = JSON.stringify(data);
} catch (error) {
console.log("encrypt error:", error);
}
}
const dataHex = CryptoJS.enc.Utf8.parse(data);
const encrypted = CryptoJS.AES.encrypt(dataHex, SECRET_KEY, {
iv: SECRET_IV,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString();
}
5. 封装解密方法
export function decrypt(data) {
const encryptedHexStr = CryptoJS.enc.Hex.parse(data);
const str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
const decrypt = CryptoJS.AES.decrypt(str, SECRET_KEY, {
iv: SECRET_IV,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
6. 使用方法
import { decrypt, encrypt } from "@/utils/encrypt";
const data = "13172"
const encryptText = encrypt(data);
console.log("加密", encryptText);
const decryptText = decrypt(encryptText);
console.log("解密", decryptText);