生成iv时出现crypto.createDecipheriv错误

Odi*_*eon 2 cryptography node.js

我使用crypto.createDecipheriv有一个非常奇怪的错误

定义以下代码时:

var decipher = crypto.createDecipheriv('aes-256-cbc', '3dc837d877144001c1291fdda417903d9130aeac', '1234567890123456');
Run Code Online (Sandbox Code Playgroud)

并且请求到达此行我立即收到错误,导致我的应用程序崩溃:

Error: Invalid key length
    at Error (native)
    at new Decipheriv (crypto.js:282:16)
    at Object.Decipheriv (crypto.js:279:12)
Run Code Online (Sandbox Code Playgroud)

有没有人知道可能导致这种情况的原因?

谢谢.

msc*_*dex 6

你的密钥长度太短.aes-256-cbc需要256位密钥,即32个字节.但是,您提供的(十六进制)密钥只有20个字节.

此外,您需要使用new Buffer('myhexkey', 'hex')键参数,以便解码十六进制字节.