生成iv时出现crypto.createDecipheriv错误
我使用crypto.createDecipheriv有一个非常奇怪的错误
在定义下面的代码时:
var decipher = crypto.createDecipheriv('aes-256-cbc', '3dc837d877144001c1291fdda417903d9130aeac', '1234567890123456');
和请求到达这一行我马上得到一个错误,崩溃我的应用程序:
Error: Invalid key length at Error (native) at new Decipheriv (crypto.js:282:16) at Object.Decipheriv (crypto.js:279:12)
有没有人知道这可能是什么原因造成的?
谢谢。
你的钥匙长度太短。 aes-256-cbc
需要一个256位的密钥,意思是32个字节。 但是,您提供的(hex)键只有20个字节。
另外,你需要使用new Buffer('myhexkey', 'hex')
作为关键参数,以便对hex字节进行解码。
- Node.js Crypto类使用更新的版本返回不同的结果
- 如何从hex编码的模数中创buildRSA密钥并在node.js中encryption
- 什么是openssl的“aes-256-cfb”的Java名称?
- 使用stdin和stdout解密nodejs中的文件
- 在NodeJS应用程序中显示来自AlwaysEncrypted列的数据?
- mongoose如何处理密码编码很好?
- Node.js`crypto.final`使得encryption的结果不同于PHP`mcrypt_encrypt`
- 使用NodeJS解包PKCS#7数据有效载荷?
- AES256encryption在node.js和objective-c之间得到不同的结果