Initial comitof pe project

This commit is contained in:
2025-08-13 01:55:49 +00:00
commit 05618f1cbb
40 changed files with 9432 additions and 0 deletions

30
src/utils/crypto/index.js Normal file
View File

@@ -0,0 +1,30 @@
import CryptoJS from 'crypto-js';
const key = CryptoJS.enc.Utf8.parse(import.meta.env.VITE_APP_KEY);
const iv = CryptoJS.enc.Utf8.parse(import.meta.env.VITE_APP_IV);
const crypto = {
encrypt: (str) => {
const encrypted = CryptoJS.AES.encrypt(str, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 将加密结果转换为字节数组,然后转换为十六进制字符串
const hexString = CryptoJS.enc.Hex.stringify(encrypted.ciphertext);
return hexString;
},
decrypt: (hexString) => {
// 将十六进制字符串转换回字节数组
const ciphertext = CryptoJS.enc.Hex.parse(hexString);
const encryptedParams = CryptoJS.lib.CipherParams.create({ ciphertext });
const decrypted = CryptoJS.AES.decrypt(encryptedParams, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
};
export default crypto;