【发布时间】:2012-02-13 03:11:58
【问题描述】:
Nodejs 代码
var crypto = require("crypto");
var cypher = crypto.createCipher("aes192", "pass");
var out = cypher.update("TEST1","utf8", "binary");
out += cypher.final("binary");
console.log(out);
节点输出:
´_ËT~R dE{
命令行:
echo -n "TEST1" | openssl enc -aes192
命令行输出:
Salted__?
????X-N??R?*a8 P9?t%
我做错了什么?
PD:是的,我知道这些是二进制输出,但它们显然不匹配。
【问题讨论】:
-
一方面,您似乎在节点中使用了“pass”键,并将其与直接通过管道传输到没有键的 openssl 进行比较。你确定确实有问题吗?
-
openssl 要求输入该命令的密钥,在这种情况下我输入 pass
标签: node.js encryption openssl aes