MD5 ist einer der Algorithmen, die von Professor Ronaled Rivest an der MIT University entwickelt wurden (Rivest, 1994). Als die Arbeit darauf hindeutete, dass MD4 wahrscheinlich unsicher war, wurde MD5 entwickelt, um MD4 zu ersetzen. Die Schwachstellen von MD4 wurden später von Hans Dobbertin entdeckt.Dieses Tutorial erklärt, wie man einen String, häufig Passwörter aus Sicherheitsgründen, mit den beiden Hashing-Methoden MD5 und SHA-256 hasht. Hashing ermöglicht es Ihnen, nur in eine Richtung zu codieren, und dies ist sein größter Vorteil, so dass der Hash irreversibel ist, im Gegensatz zur Verschlüsselung, die einen Schlüssel für die Verschlüsselung und Entschlüsselung verwendet.
Die SHA-Hash-Funktionen wurden von der US-amerikanischen National Security Agency (NSA) entwickelt. SHA steht für Secure Hash Algorithm. Die drei SHA-Algorithmen sind unterschiedlich aufgebaut und unterscheiden sich durch SHA-0, SHA-1 und SHA-2. Die SHA-2-Familie verwendet einen identischen Algorithmus mit einer variablen Digest-Größe, der durch SHA-224, SHA-256, SHA-384 und SHA-512 unterschieden wird.
import java.security.MessageDigest;Output:
public class md5_java
{
public static void main(String[] args)throws Exception
{
String password = "123456789";
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(password.getBytes());
byte byteData[] = md.digest();
//Bit-Array in Hexadezimalformat konvertieren - Methode 1
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("Im Hexa-Format: " + sb.toString());
//bitarray in hexadezimales Format konvertieren - Methode 2
StringBuffer hexString = new StringBuffer();
für (int i=0; Ich< byteData.length; i++) {
String hex=Integer.toHexString(0xff & byteData[i]);
if(hex.length()==1) hexString.append('0');
hexString.append(hex);
}
System.out.println("Im Hexa-Format: " + hexString.toString());
}
}
Im Hexa-Format: 25f9e794323b453885f5181f1b624d0b
Im Hexa-Format: 25f9e794323b453885f5181f1b624d0b
import java.security.MessageDigest;Ausgabe:
public class sha_java
{
public static void main(String[] args)throws Exception
{
String password = "123456789";
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(password.getBytes());
byte byteData[] = md.digest();
//Bit-Array in Hexadezimalformat konvertieren - Methode 1
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("Im Hexa-Format: " + sb.toString());
//bitarray in hexadezimales Format konvertieren - Methode 2
StringBuffer hexString = new StringBuffer();
für (int i=0; Ich< byteData.length; i++) {
String hex=Integer.toHexString(0xff & byteData[i]);
if(hex.length()==1) hexString.append('0');
hexString.append(hex);
}
System.out.println("Im Hexa-Format: " + hexString.toString());
}
}
Im Hexa-Format: 15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225
Im Hexa-Format: 15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225
Please disable your ad blocker and refresh the window to use this website.