在前后端数据传输时敏感信息要加密传输,以下为aes加密封装的共用函数
import CryptoJS from "crypto-js/crypto-js";
//加密
export function encrypt(txt) {
if (!txt) {
return "";
}
var key = CryptoJS.enc.Utf8.parse("s7o6******e");
let srcs = CryptoJS.enc.Utf8.parse(txt);
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: key,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.ciphertext.toString().toUpperCase();
}
//解密
export function decrypt(txt) {
if (!txt) {
return "";
}
var key = CryptoJS.enc.Utf8.parse("s7o6******e");
let encryptedHexStr = CryptoJS.enc.Hex.parse(txt);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv: key,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
本文介绍了一种使用AES算法进行前后端数据传输中敏感信息加密和解密的方法。通过CryptoJS库实现CBC模式下的加解密操作,并提供了一个用于实际应用的封装函数。
516

被折叠的 条评论
为什么被折叠?



