Java - String beim hashen fehlerhaft
lima-city → Forum → Programmiersprachen → Java
ausgabe
byte
code
dank
einfachen string
folgendes code
format
http
konvertieren
kopf
korrigieren
machen
null
string
update
url
versuchen
-
Hallo liebe Limas :)
Ich will mithilfe von Java einen einfachen String hashen. Der String selbst ist unwichtig, eher was privates, aber der Hash ist wichtig. Ich benutze dafür einen md5-Hash. Diesen berechne ich mit diesem Code:
String original = "StringABCusw..."; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(original.getBytes()); byte[] digest = md.digest(); StringBuffer sb = new StringBuffer(); for (byte b : digest) { sb.append(Integer.toHexString((int) (b & 0xff))); }
Jedoch ist die Ausgabe nicht der korrekte Hash. Deswegen macht Java aus dem richtigen Hash, z.B. 568192b0b957f6a462e44459e46803be, einfach so einen falschen: 568192bb957f6a462e44459e4683be, indem er einfach so alle Nullen weglässt. Gibt es dafür eine plausible Erklärung und wie könnte ich das korrigieren?
MfG Maximilian J. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo devalistic,
Du verlierst beim Konvertieren von Integer nach String die führenden Nullen. Versuche mal folgendes:
sb.append(String.format("%02x", b));
Mehr zum Thema findest Du hier. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage