0
votes

Compute HMAC SHA-512 à Nodejs et Java

J'essaie de migrer un calcul SHA-512 de Java vers le nœud JS et je ne peux pas sembler avoir les mêmes résultats ...

code Java (qui a l'air standard de ): xxx

sortie: xxx

nodejs: xxx

sortie: xxx < / Pre>

Qu'est-ce que je fais mal?

Note : J'utilise Java 8 et noeud 10.13


4 commentaires

Votre résultat NODEJS est le bon selon Freeformatter .


Vous appelez getBytes () sans spécifier un codage de caractères. En fonction de vos données et de la plate-forme par défaut, codez sur votre système, cela peut modifier ce que vous passez pour le sel et le plaintext.


Ohhh ... donc le code Java n'est donc pas une standard SHA-512 ? Si oui, comment puis-je le reproduire? @Gendarme


Merci @davidconrad, j'ai essayé d'ajouter un codage au code Java, mais cela n'a pas aidé (les deux codes ont été couru sur le même système)


3 Réponses :


4
votes

Dans le nœud, vous utilisez HMAC-SHA-512, mais en Java, vous utilisez simplement SHA-512 et concaténant la clé et le texte en plainte. Ce n'est pas la façon dont le HMAC fonctionne. Vous devez également utiliser HMAC-SHA-512 dans Java également:

9ba1f63365a6caf66e46348f43cdef956015bea997adeb06e69007ee3ff517df10fc5eb860da3d43b82c2a040c931119d2dfc6d08e253742293a868cc2d82015


1 commentaires

En fait, j'ai eu besoin de l'inverse (pour réparer le code JS), mais cela a aidé! :) Merci!!!



2
votes

Si quelqu'un cherche au noeud JS correction, j'ai fait grâce à @DavidConrad, voici: xxx

sortie: xxx


0 commentaires

0
votes

pour nodejs em>, vous pouvez ajouter la clé avec des données pour obtenir java em> équivalent hachage.

require('crypto').createHash(algo).update(data + key).digest()


0 commentaires