共计 644 个字符,预计需要花费 2 分钟才能阅读完成。
CryptoJS
是一个 JavaScript 加密算法库,用于实现各种加密算法和哈希函数,包括对称加密算法、非对称加密算法和哈希函数等。
安装依赖:npm install crypto-js
AES 对称加密
const cryptoJS = require('crypto-js')
const message = '666' // 要加密的消息
const key = 'hellohello' // 用于加密的秘钥
const options = {
// 初始化向量用于增加加密算法安全性,必须是一个 16 字节(128 位)的随机字符串或者数组。若未提供会自动生成
iv: cryptoJS.enc.Utf8.parse('suibian'),
mode: cryptoJS.mode.CBC, // 加密模式,默认为 ECB
padding: cryptoJS.pad.Pkcs7, // 在加密过程中对明文进行填充,默认为 Pkcs7
}
// 进行 AES 加密
const encrypted = cryptoJS.AES.encrypt(message, key, options)
const ciphertext = encrypted.toString() // 获取加密后的密文
console.log('加密密文:', ciphertext)
// 解密
const decrypted = cryptoJS.AES.decrypt(ciphertext, key, options)
console.log('解密明文:', decrypted.toString(cryptoJS.enc.Utf8))
正文完