代码改变世界

CryptoJS 加密 解密

2024-01-22 11:56  法子  阅读(78)  评论(0编辑  收藏  举报
npm i crypto-js --save
加密和解密的方式要对应,比如都是Base64、CBC、Pkcs7
  const CryptoJS = require('crypto-js');  //引入crypto-js


    var str = JSON.stringify({ a: 1, b: 2 })
    var key = 'o9oSSaSHMp7KD9S485vx5oThWKKR7vVsCXAl26xBz9w='
    var iv = 'eNj80+KlpPMLlEFiZZZfFQ=='

    // 加密
    let encrypted = CryptoJS.AES.encrypt(str, CryptoJS.enc.Base64.parse(key), {
        iv: CryptoJS.enc.Base64.parse(iv),
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    var ciphertext = encrypted.toString()
    console.log('------text------------', ciphertext)

  // 解密
    let decryptResult = CryptoJS.AES.decrypt(ciphertext, CryptoJS.enc.Base64.parse(key), { 
        iv: CryptoJS.enc.Base64.parse(iv),
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    var resultStr = decryptResult.toString(CryptoJS.enc.Utf8)
    console.log('---------result----------', JSON.parse(resultStr))