18 lines
610 B
JavaScript
18 lines
610 B
JavaScript
import CryptoJS from 'crypto-js';
|
|
|
|
/**
|
|
* 使用 AES-ECB 模式 + PKCS7 填充对字符串进行加密
|
|
* @param {string} word - 需要加密的明文
|
|
* @param {string} [keyWord='XwKsGlMcdPMEhR1B'] - 加密密钥,默认为 aj-captcha 默认密钥
|
|
* @returns {string} - 加密后的密文
|
|
*/
|
|
export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {
|
|
const key = CryptoJS.enc.Utf8.parse(keyWord);
|
|
const srcs = CryptoJS.enc.Utf8.parse(word);
|
|
const encrypted = CryptoJS.AES.encrypt(srcs, key, {
|
|
mode: CryptoJS.mode.ECB,
|
|
padding: CryptoJS.pad.Pkcs7,
|
|
});
|
|
return encrypted.toString();
|
|
}
|