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
}
我已经尝试过 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
}