hejunjie-encrypted-request
Version:
一个简单的前端加密助手,与 hejunjie/encrypted-request PHP 包配合使用 | A simple encryption helper for frontend to work with hejunjie/encrypted-request PHP package
20 lines • 699 B
JavaScript
import CryptoJS from "crypto-js";
function forgeBytesToWordArray(bytes) {
const words = [];
for (let i = 0; i < bytes.length; i++) {
words[i >>> 2] |= (bytes.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
}
return CryptoJS.lib.WordArray.create(words, bytes.length);
}
export function aesEncrypt(data, key, iv) {
const text = JSON.stringify(data);
const keyWA = forgeBytesToWordArray(key);
const ivWA = forgeBytesToWordArray(iv);
const encrypted = CryptoJS.AES.encrypt(text, keyWA, {
iv: ivWA,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString(); // Base64
}
//# sourceMappingURL=encryptor.js.map