Gibt es eine Methode, um einen MD5-Hash einer Zeichenkette in Java zu erzeugen?
Dies ist wahrscheinlich die schlechteste Lösung, da dabei führende Nullen entfernt werden.
Gibt es eine Methode, um einen MD5-Hash einer Zeichenkette in Java zu erzeugen?
Sie können MD5-Hash erzeugen für einen bestimmten Text mit Hilfe der Methoden in der MessageDigest
Klasse in der java.security
Paket. Nachstehend finden Sie den vollständigen Codeausschnitt,
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.xml.bind.DatatypeConverter;
public class MD5HashGenerator
{
public static void main(String args[]) throws NoSuchAlgorithmException
{
String stringToHash = "MyJavaCode";
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.update(stringToHash.getBytes());
byte[] digiest = messageDigest.digest();
String hashedOutput = DatatypeConverter.printHexBinary(digiest);
System.out.println(hashedOutput);
}
}
Die Ausgabe der MD5-Funktion ist ein 128-Bit-Hash, der durch 32 hexadezimale Zahlen dargestellt wird.
Wenn Sie eine Datenbank wie MySQL verwenden, können Sie dies auch auf eine einfachere Weise tun. Die Abfrage Select MD5(“text here”)
gibt den MD5-Hash des Textes in der Klammer zurück.
Versuchen Sie dies:
public static String getHashMD5(String string) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
BigInteger bi = new BigInteger(1, md.digest(string.getBytes()));
return bi.toString(16);
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(MD5Utils.class
.getName()).log(Level.SEVERE, null, ex);
return "";
}
}
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5 encryption
*
* @author Hongten
*
*/
public class MD5 {
public static void main(String[] args) {
System.out.println(MD5.getMD5("123456"));
}
/**
* Use md5 encoded code value
*
* @param sInput
* clearly
* @ return md5 encrypted password
*/
public static String getMD5(String sInput) {
String algorithm = "";
if (sInput == null) {
return "null";
}
try {
algorithm = System.getProperty("MD5.algorithm", "MD5");
} catch (SecurityException se) {
}
MessageDigest md = null;
try {
md = MessageDigest.getInstance(algorithm);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
byte buffer[] = sInput.getBytes();
for (int count = 0; count < sInput.length(); count++) {
md.update(buffer, 0, count);
}
byte bDigest[] = md.digest();
BigInteger bi = new BigInteger(bDigest);
return (bi.toString(16));
}
}
Es gibt einen Artikel auf Codingkit darüber. Schauen Sie sich das an: http://codingkit.com/a/JAVA/2013/1020/2216.html
private String hashuj(String dane) throws ServletException{
try {
MessageDigest m = MessageDigest.getInstance("MD5");
byte[] bufor = dane.getBytes();
m.update(bufor,0,bufor.length);
BigInteger hash = new BigInteger(1,m.dige`enter code here`st());
return String.format("%1$032X", hash);
} catch (NoSuchAlgorithmException nsae) {
throw new ServletException("Algorytm szyfrowania nie jest obsugiwany!");
}
}
Willkommen bei StackOverflow könnten Sie lesen wollen wie man eine Antwort postet bevor Sie dies tun. Erläutern Sie ein wenig den Kontext, warum Sie den Code veröffentlicht haben und was er bewirkt. Nehmen Sie sich auch die Zeit, Ihre Antwort so zu formatieren, dass sie für die Leser leicht verständlich ist.
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.