Gibt es eine Methode, um einen MD5-Hash einer Zeichenkette in Java zu erzeugen?
Großartig. Sie tappt nicht in die Falle, führende Nullen abzuschneiden.
Gibt es eine Methode, um einen MD5-Hash einer Zeichenkette in Java zu erzeugen?
Ich verwende es folgendermaßen:
final MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(string.getBytes(Charset.forName("UTF8")));
final byte[] resultByte = messageDigest.digest();
final String result = new String(Hex.encodeHex(resultByte));
wo Hex ist: org.apache.commons.codec.binary.Hex
von der Apache-Commons-Projekt .
Wenn Sie Apache Commons Codec verwenden, können Sie es trotzdem benutzen: commons.apache.org/codec/api-release/org/apache/commons/codec/
Ich habe gerade heruntergeladen commons-codec.jar und erhielt perfekte php wie md5. Hier ist Handbuch .
Importieren Sie es einfach in Ihr Projekt und verwenden Sie
String Url = "your_url";
System.out.println( DigestUtils.md5Hex( Url ) );
und da haben Sie es.
Dies ist die Methode, die den gleichen Rückgabewert wie die MySQL-Funktion md5(str) liefert. Viele der anderen Antworten haben andere Werte zurückgegeben.
Unter Android funktioniert das nicht richtig, da Android den commons-codec 1.2 bündelt, für den Sie diesen Workaround benötigen: stackoverflow.com/a/9284092/2413303
Es ist nicht nötig, es zu kompliziert zu machen.
DigestUtils funktioniert einwandfrei und macht die Arbeit mit md5
Hashes.
DigestUtils.md5Hex(_hash);
oder
DigestUtils.md5(_hash);
Sie können auch andere Verschlüsselungsmethoden verwenden, z. B. sha
o md
.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
2 Stimmen
stackoverflow.com/questions/304268/
46 Stimmen
MD5 mag als einseitiges Sicherheitsmerkmal unsicher sein, aber für allgemeine Prüfsummenanwendungen ist es immer noch gut geeignet.