模式"/>
AES加密 ECD模式
一、安装crypto-js
npm install crypto-js
二、封装AES文件
import CryptoJS from "crypto-js";
/*** * 第一个参数word是待加密或者解密的字符串;* 第二个参数keyStr是aes加密需要用到的16位字符串的key;* * 如果想对一个js对象加密,需要先把该对象转成json字符串。 */
export default {// 加密encrypt(word, keyStr) {keyStr = keyStr ? keyStr : "";let key = CryptoJS.enc.Utf8.parse(keyStr);let srcs = CryptoJS.enc.Utf8.parse(word);let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return encrypted.toString();},// 解密decrypt(word, keyStr) {keyStr = keyStr ? keyStr : "";var key = CryptoJS.enc.Utf8.parse(keyStr);var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return CryptoJS.enc.Utf8.stringify(decrypt).toString();}
};
三、使用
import AES from "AES.js";AES.encrypt(word, keyStr)
四、假如key秘钥不足16位 则用 '\0' 补齐
"Zhtx2020" => "Zhtx2020\0\0\0\0\0\0\0\0"
五、加密测试
加密测试:test >> OE5W6WCqWBUbwFU5G2Bu0w==加密hex输出encrypted = encrypted.ciphertext.toString();let encryptedHexStr = CryptoJS.enc.Hex.parse(encrypted)test >> 384e56e960aa58151bc055391b606ed3
在线AES加密解密、AES在线加密解密、AES encryption and decryption--查错网
更多推荐
AES加密 ECD模式
发布评论