1234567891011121314151617181920212223242526272829303132 |
- 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;
|