kostenloser Webspace werbefrei: lima-city


Java - String beim hashen fehlerhaft

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    devalistic

    Kostenloser Webspace von devalistic

    devalistic hat kostenlosen Webspace.

    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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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.
  4. Autor dieses Themas

    devalistic

    Kostenloser Webspace von devalistic

    devalistic hat kostenlosen Webspace.

    Als ich dein Beitrag gelesen hab, habe ich mir erstmal gegen den Kopf geschlagen. Danke, es funktioniert einwandfrei.
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!