CryptoJs 实现前端 Aes 加密
一,安装依赖
npm install crypto-js
二,加密
/*** AES加密* @param pWord 待加密字段* @param pKey 密钥* @param ivStr 初始向量*/
function aesEncryption(pWord: string, pKey: string, ivStr:String): string {const word = CryptoJS.enc.Utf8.parse(pWord);const key = CryptoJS.enc.Utf8.parse(pKey);const iv = CryptoJS.enc.Utf8.parse(ivStr);const encrypted = CryptoJS.AES.encrypt(word, key, {iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7,});return encrypted.toString();
}
三,解密
/*** AES解密* @param word 要解密的字符串* @param pKey 密钥* @param ivStr 初始向量*/
function aesDecrypt(word: string, pKey: string, ivStr:string): string {const key = CryptoJS.enc.Utf8.parse(pKey);const iv = CryptoJS.enc.Utf8.parse(ivStr);const decrypted = CryptoJS.AES.decrypt(word, key, {iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7,});return decrypted.toString(CryptoJS.enc.Utf8);
}
四,注意事项
在进行 Aes 加密、解密的过程中要保证密钥和初始向量保持一致。