You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
880 B
20 lines
880 B
import CryptoJS from 'crypto-js';
|
|
|
|
const key = CryptoJS.enc.Utf8.parse('1C1389D55E4522B2'); //十六位十六进制数作为密钥
|
|
const iv = CryptoJS.enc.Utf8.parse('1C1389E43F01C1B2'); //十六位十六进制数作为密钥偏移量
|
|
|
|
//解密方法
|
|
export function decryption(word) {
|
|
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();
|
|
}
|
|
|
|
//加密方法
|
|
export function encryption(word) {
|
|
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().toUpperCase();
|
|
}
|
|
|