CryptoJS AES 256 ECB 解密
·
问题:CryptoJS AES 256 ECB 解密
我已经尝试过 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
}
更多推荐
所有评论(0)