JavaScript加密算法库CryptoJS

编程 · 01-08 · 279 人浏览

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))
JavaScript
Theme Jasmine by Kent Liao