我对 Node 很陌生,并且遇到了加密对象的问题:
var des3_key = new Buffer("redacted", "base64"); // copied from key in chilk
var des3_iv = new Buffer("alsoredacted", "base64"); // copied from iv in chilk
var des3_encryption = crypto.createCipheriv("des3", des3_key, des3_iv);
// encode a string
var string_to_encode = "thisisatest";
var ciphered_string = des3_encryption.update(string_to_encode, "utf8", "base64");
console.log(string_to_encode+" "+ciphered_string);
无论是在 Node 控制台中还是在服务器上运行时,第 6 行都会导致错误node-crypto: Invalid IV length 32
,而不是像预期的那样返回加密对象。
我删除的密钥和 IV 及其加密类型是从另一个文件复制的,但为了测试,我尝试了各种字符串和加密类型,但仍然得到相同的错误,尽管错误的长度不同。
我对加密的了解仅限于我以前使用过的知识,不幸的是,我在查找 Node 的故障排除资源时遇到了麻烦。任何帮助,将不胜感激。
编辑:试验 des 和 des3 产生相同的结果。