Sha Hash für Strings mit Java

Da der gute alte MD5 Hash ja schon einige Jahre auf dem Buckel hat und schon längst nicht mehr als sicher gilt, sollte man sich langsam Gedanken machen und auf einen neueren Algorithmus entscheiden. Da das selbe auch für den neueren SHA-1 Hash gilt müssen wir noch einen Schritt weiter gehen.
Hier möchte ich nun kurz eine Implementierung der SHA Algorithmus in Java preis geben. Mit dieser Lösung ist es möglich SHA Hashes für SHA-1, SHA-256, SHA-384 und SHA-512 zu erstellen. Dabei ist zu beachten, das bei längerer Schlüssellänge die CPU Last steigt, da die Berechnung doch ein wenig Aufwändiger ist.

Die folgende Funktion erstellt einen SHA-256 Hash Wert für den Text "Create my hash" und gibt diesen in der Konsole aus.

public static void getHash() throws NoSuchAlgorithmException
{
	String value = "Create my hash";
 
	MessageDigest md = MessageDigest.getInstance("SHA-256");
	md.update(value.getBytes());
 
	byte byteData[] = md.digest();
 
	//konvertiere byte nach hex
	StringBuffer sb = new StringBuffer();
	for (int i = 0; i < byteData.length; i++) 
	{
		sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
	}
 
	System.out.println(sb.toString());
}

Das ergebnis sollte wie folgt aussehen:
868091a71d8126681e45c6aa7816e390f5607f4b97d65cf69e3fc7b07436b8fe

Alternativ kann man auf den Creator

MessageDigest md = MessageDigest.getInstance("SHA-256");

mit anderen Werten befüllen und so einen andere (Sha)Hash verwenden.

Mögliche Werte sind (un nur ein paar zu nennen):

  • SHA-1

  • SHA-256

  • SHA-384

  • SHA-512


In this article



Most Recent


More posts

Mobile Anwendungen mit Android: Entwicklung und praktischer Einsatz
Mobile Anwendungen mit Android: Entwicklung und praktischer Einsatz

Ich möchte mich gar nicht mit langen Vorreden aufhalten. Diese Rezension ist entstanden weil ich Lust drauf hatte. So, oder zumindest so ähnlich...

Magento 1.7 Beta erschienen
Magento 1.7 Beta erschienen

Keine zwei Monate hat es gedauert, von der Veröffentlichung der Alpha Version bis hin zur Magento 1.7 Beta. In diesem Update wurden wieder sehr...

Dateien auf Linux/Unix Systemen nach einem String durchsuchen
Dateien auf Linux/Unix Systemen nach einem String durchsuchen

Wie häufig kommt es vor, das man nach einem bestimmten Text sucht, man aber nicht mehr weis in welcher Datei man diesen versteckt hat? Also mir...

Übersicht über Magento Events
Übersicht über Magento Events

Hier eine Übersicht über die Events von Magento, und wo diese zu finden sind. Für was die Events gut sind, und wie man Diese benutzt werd ich ich...