Java-SHA256 Ausgänge verschiedene hash, PHP SHA256?

PHP-code:

echo hash('sha256', 'jake');

PHP Ausgabe:

cdf30c6b345276278bedc7bcedd9d5582f5b8e0c1dd858f46ef4ea231f92731d

Java-code:

String s = "jake";
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(s.getBytes(Charset.forName("UTF-8")));
byte[] hashed = md.digest();
String s2 = "";
for (byte b : hashed) {
    s2 += b;
}
System.out.println(s2);

Java-Ausgabe:

-51-1312107528211839-117-19-57-68-19-39-43884791-1141229-4088-12110-12-223531-11011529

Hatte ich erwartet, dass die beiden um das gleiche Ergebnis zurückgeben. Offensichtlich ist dies nicht der Fall ist. Wie bekomme ich die beiden übereinstimmen, oder ist es unmöglich?

EDIT: ich hatte einen Fehler gemacht, ich glaube ich habe die Antwort auf die Frage jetzt trotzdem.

  • Überprüfen Sie Ihre Zeichen-Kodierung für PHP-arbeiten mit bytes, nicht Java verwenden UTF8 oder UTF16 (oder was)?
InformationsquelleAutor Finbarr | 2011-01-13
Schreibe einen Kommentar