2013-03-13 10 views
5

Przesyłam skrypt php do węzła i nie wiem zbyt wiele na temat szyfrowania.Konwertuj PHP hash_hmac (sha512) na NodeJS

skryptu PHP wykorzystuje tę funkcję:

hash_hmac('sha512', text, key); 

Tak, trzeba zaimplementować funkcję w Node js dla powracających z kluczykiem hash używając metody hmac (SHA512).

Z tego co widzę, węzeł ma wbudowaną tę funkcję za pomocą modułu kryptograficznego (http://nodejs.org/docs/latest/api/crypto.html#crypto_crypto) - Ale nie wiem, jak odtworzyć tę funkcję.

Każda pomoc zostanie doceniona.

Dzięki,

Odpowiedz

8

Tak, użyj krypto bibliotekę.

var hash = crypto.createHmac('sha512', key); 
hash.update(text); 
var hashed_data = hash.digest(); 

Więcej informacji (na przykład argumenty trawienia kontrolować sposób kodowania wyjściowego z hash.digest) są the link można przewidziane.

Jako Nick zwraca uwagę, trzeba będzie zrobić cały ten proces za każdym razem, gdy chcesz zaszyfrować nowy ciąg (tj utworzyć nowy hash obiektu poprzez crypto.createHmac.)

+2

Tip podczas korzystania z tego, myślę, że tylko można wywołaj metodę digest() na haszowaniu jeden raz. Oznacza to, że nie można użyć funkcji update(), a następnie digest() w celu utworzenia kolejnego skrótu. Jeśli musisz utworzyć wiele skrótów, będziesz musiał wielokrotnie używać crypto.createHmac(). –

+0

Tak, to prawda, o ile wiem. Dzięki, zaktualizuję swoją odpowiedź. –