node.js — NodeJS возвращает другой двоичный результат из HMAC, кроме переполнения стека

Я запускаю node.js и php в Windows и использую модуль crypto в node.js.

PHP-скрипт:

hash_hmac("sha256", "foo", "bar", true) // the true enables binary output

выходы:

¶Y3! Ȭ╝♂ï►ó│Ñ├Fä╚┘CA╝ ± G6▄rp¸t ↑ Q

Скрипт Node.js:

crypto.createHmac("sha256", "bar").update("foo").digest("binary");

выходы:

¶Y3!? ª¼♂? ► ¢ ³ ¥ Af? ÈÙCA¼ñG6Ürp ÷ т ↑ Q

Мне также интересно, почему некоторые цифры такие же, а другие нет.


Я также попытался получить гекс вместо двоичного результата, оба вывод такой же.

hash_hmac("sha256", "foo", "bar", false); // false outputs hex data
crypto.createHmac("sha256", "bar").update("foo").digest("hex"); // notice "hex"

Это не было решением, потому что мне не удалось преобразовать шестнадцатеричные данные в двоичные:

var hmac = crypto.createHmac("sha256", "bar").update("foo").digest("hex");
var binary = new Buffer(hmac, "hex");

Переменная binary выходы:

¶Y3! ??? ♂? ► ???? F ??? CA ?? G6? Тр? Т ↑ Q

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]