CryptoJS AES 256 ECB 解密

CryptoJS AES 256 ECB Decrypt

我已经尝试过 aes-ecb-js,如果它能解决我的问题,我现在正在尝试 cryptoJS。我已经阅读了一些主题并在谷歌上搜索了很多,但我无法使用 AES ECB 256 解密 HEX 字符串。

使用在线解码器时效果很好:

我根据文档尝试了以下代码 (https://cryptojs.gitbook.io/docs/#ciphers)

console.log('decrypt: ' + result)
        const dec = CryptoJS.AES.decrypt(result, key)
        console.log(dec)
        console.log(CryptoJS.enc.Utf8.stringify(dec))

"key" 在这种情况下是一个类似于以下内容的字符串:34AKDASFA12312ADSFKLSDK2

遗憾的是,当尝试对 var "dec"

中的单词数组进行字符串化时,输出未定义

我通过切换到已弃用的 NPM 包 Crypto 解决了这个问题,它现在是 NodeJS 的内置功能。

从那里开始,解密 AES 256 ECB HEX 字符串有点混乱(在我看来)。

function decrypt(encodedString) {
  const crypto = require('crypto')
  const algorithm = 'aes-256-ecb'
  const dateKey = Buffer.from(
    '<YOUR_KEY>',
    'binary'
  )

  const decipher = crypto.createDecipheriv(
    algorithm,
    dateKey.toString('binary'),
    ''
  )
  decipher.setAutoPadding(false)
  let dec = decipher.update(encodedString, 'hex', 'utf8')
  dec += decipher.final('utf8')
  return dec
}