33 lines
902 B
JavaScript
33 lines
902 B
JavaScript
import CryptoJS from "@/questionnaire/crypto-js/crypto-js.js"
|
|
const CRYPTOJSKEY = "60afL1G1b39c5Z27";
|
|
|
|
function encrypt(plaintText) {
|
|
var options = {
|
|
mode: CryptoJS.mode.ECB,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
};
|
|
var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
|
|
var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
|
|
var encryptedBase64Str = encryptedData.toString().replace(/\//g, "_");
|
|
encryptedBase64Str = encryptedBase64Str.replace(/\+/g, "-");
|
|
return encryptedBase64Str;
|
|
}
|
|
|
|
//解密
|
|
function decrypt(encryptedBase64Str) {
|
|
var vals = encryptedBase64Str.replace(/_/g, '/');
|
|
var options = {
|
|
mode: CryptoJS.mode.ECB,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
};
|
|
var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
|
|
var decryptedData = CryptoJS.AES.decrypt(vals, key, options);
|
|
var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData);
|
|
return decryptedStr
|
|
|
|
}
|
|
|
|
export {
|
|
encrypt,
|
|
decrypt
|
|
} |