我开始怀疑 AES 的实现是否跨库不同..
目前我有一个用 PyCrypto 加密的明文。
我试图用 Node.js 的加密库解密密文。
基本上使用 PyCrypto ..
我使用 AES-128-CBC 和随机生成的 IV。(在 PyCrypto 中完美解密)
但是..
在 Node.js 上我正在这样做
var buf = new Buffer(ciphertext)
var decipher = crypto.createDecipher('aes-128-cbc',aeskey)
buf = decipher.update(buf,'binary', 'binary')
buf += decipher.final('binary')
吐出一堆垃圾....(将“二进制”更改为 hex/utf8 无济于事)
当我使用 CBC(密码块链接)时...
我将 IV 添加到密文的开头(16 个块)。在 PyCrypto 中,这完美地工作,类似于 PGP、CFB 使用的规范。
有谁知道这不起作用的原因是什么???
我是否对 Node.js 的标准库期望过高?