MessageDigest digest () - Methode
Sollte nicht der digest () - Methode in MessageDigest immer den gleichen hash-Wert für den gleichen Eingang?
Ich versuchte dies und ich erhalte eine andere Gruppe von hashvalues für die gleiche Eingabe immer
md5 = MessageDigest.getInstance("MD5");
System.out.println(md5.digest("stringtodigest".getBytes()));
System.out.println(md5.digest("stringtodigest".getBytes()));
System.out.println(md5.digest("stringtodigest".getBytes()));
Update: Änderung der param-zu-digest () - Methode
- Gibt es eigentlich eine Methode mit der Signatur
digest(String input)
? Da ich sehe nicht ein...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen Sie die Ergebnisse der Aufruf
byte[].toString()
- was nicht ist, zeigt Sie die eigentliche hash-Wert der Daten. Sie sind im Grunde immer eine Zeichenkette, die zeigt, dass Sie angerufen habentoString
auf ein byte-array (das ist das[B
Teil) und dann den hash, der zurückgegebenObject.hashCode()
(das ist der hex-Wert nach der@
). Dass hash-Codes nicht nehmen, die Daten im array berücksichtigt werden.Versuchen
zu sehen, dass die tatsächlichen Daten.
EDIT: Kurze Notiz über das erstellen einer MD5-digest aus string Daten - Sie sollten immer dieselbe Codierung verwenden, explizit, wenn das hashing. Zum Beispiel: