Это 3DES, используя crypto
(база на OpenSSL) в native Node.js.Как получить тот же результат с помощью Node.js и PHP-mcrypt с использованием шифрования TripleDES?
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
Почему оба эти разные результаты?
И как я могу получить тот же результат, используя crypto
в Node.js?
Как сказать 'node.js' использовать 'PKCS # 5'? – majidarif
@majidarif [PKCS # 5 и PKCS # 7 paddings эквивалентны] (http://crypto.stackexchange.com/a/9044/13022) (на самом деле, нет такой вещи, как PKCS # 5 padding для AES). node.js использует PKCS # 7 по умолчанию –