Md5 Hash mit Java

Veröffentlicht am 22.10.2008 | Kommentar schreiben | Tags: java

Der unten gezeigte Code liefert einen zufälligen MD5-Hash. Basierend auf der Klasse Random wird eine Zufallszahl erzeugt.

Diese Zufallszahl ist Grundlage des erstellen MD5-Hashs. Es gibt viele Situationen, in denen man genau so etwas braucht.

public static String generateValue()
{   
    Random r = new Random();
    int n = r.nextInt();        
        
    MessageDigest md5 = null;
    try {
        md5 = MessageDigest.getInstance("MD5");
    }
    catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
 
    String s = "" + n;
 
    md5.reset();
    md5.update(s.getBytes());
    byte[] result = md5.digest();
 
    StringBuffer hexString = new StringBuffer();
    for (int i = 0; i < result.length; i++) {
        hexString.append(Integer.toHexString(0xFF & result[i]));
    }
 
    return hexString.toString();        
}

Zurück zur Artikel-Übersicht


Kommentare

  1. Mitchel schrieb am 29.08.2009 um 07:03 Uhr
    kleiner Fehler im Code: Ist ein Byte kleiner als 0x10, so wird bei hexString.append(...) nur ein einzelnes char angehängt, d.h. z.B. 'b' statt '0b'. Somit als Zufallsstring ok, aber kein md5 der Zufallszahl.
  2. Null schrieb am 25.04.2010 um 21:04 Uhr
    So klappts:
    for (int i = 0; i < result.length; i++)
    {
    if ((0xFF & result[i]) < 16)
    hexString.append("0");
    hexString.append(Integer.toHexString(0xFF & result[i]));
    }
  3. Torsten schrieb am 27.07.2011 um 14:08 Uhr
    Es gab noch einen Fehler: Hier korrekt
    for (int i = 0; i < result.length; i++) {

    if ((0xFF & result[i]) < 16){
    hexString.append("0" + Integer.toHexString(0xFF & result[i]));
    }
    else{
    hexString.append(Integer.toHexString(0xFF & result[i]));
    }
    }
  4. Otto schrieb am 09.08.2011 um 13:33 Uhr
    Und wofür braucht man sowas?

*


*

Letzte Artikel

Letzte Kommentare

  • tommyiscrazy ...danke schön für die Anleitung: Auf Vista Home nun uneingeschränkte Rechte :-)
  • lukas hallo,ich habe windows vista home ... und alle beiden varianten ausprobiert ...
  • Nino Guter Tip. Hat mir sehr geholfen. Vielen Dank.Grüße
  • Mike Danke für die Anleitung. In meinem Fall war es aber notwendig, das ...
  • bahman i don't now German, but that was the best Dijkstra implementation I've seen so ...
  • Hana Hallo, ich habe Vista Home und möchte Home Office 2010 testen. Download war ...
  • Joerg Danke für die korrekte und nachvollziehbare Anleitung. Endlich ein True Admin ...