const CryptoJS = require('./crypto-js-4.2.0/crypto-js'); class AESUtil { // AES 加密 static AESencrypt(plaintext, key, iv) { const keyUtf8 = CryptoJS.enc.Utf8.parse(key); const ivUtf8 = CryptoJS.enc.Utf8.parse(iv); const encryptedData = CryptoJS.AES.encrypt(plaintext, keyUtf8, { iv: ivUtf8, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, }); return encryptedData.toString(); } // AES 解密 static AESdecrypt(ciphertext, key, iv) { const keyUtf8 = CryptoJS.enc.Utf8.parse(key); const ivUtf8 = CryptoJS.enc.Utf8.parse(iv); const decryptedData = CryptoJS.AES.decrypt(ciphertext, keyUtf8, { iv: ivUtf8, padding: CryptoJS.pad.Pkcs7, }); return decryptedData.toString(CryptoJS.enc.Utf8); } } module.exports = AESUtil;