【发布时间】:2015-07-12 01:42:01
【问题描述】:
这是在原生 Node.js 中使用 crypto(基于 OpenSSL)的 3DES。
var secretKey = "efd77bed61e8fdd0437df1ac";
var enchding = 'hex';
var text = 'This is test.';
var cipher = modules.crypto.createCipher('des-ede3-cbc', secretKey);
var cryptedPassword = cipher.update(text, 'utf8', enchding) + cipher.final(enchding);
输出为:af4ee52e0227fe40ab2e7ddd72fb1137
但是我使用了在线PHP-mcrypt加密工具(link here)。
密钥是efd77bed61e8fdd0437df1ac
算法为Tripledes,模式为CBC,输出使用Hexa。
输出为:d4b374b7ac8df7883ab1d58c7db0b0cc
为什么这两个结果不同?
如何在 Node.js 中使用 crypto 获得相同的结果?
【问题讨论】:
标签: php node.js encryption openssl mcrypt