JAVA implementiert den MD5-Algorithmus, den SHA1-Algorithmus und den SHA256-Algorithmus
MD5, SHA1 und SHA256 sind die am häufigsten verwendeten Hash-Algorithmen. Der Hashcode in JAVA ist vom Typ int und belegt 64 Bit.
MD5 ist ein 128-Bit-Hashcode-Berechnungsalgorithmus,
SHA1 ist ein 160-Bit-Hashcode-Berechnungsalgorithmus,
SHA256 ist ein 256-Bit-Hashcode-Berechnungsalgorithmus.
MD5-Berechnung hashCode
package utils;
import org.junit.Test;
import java.security.MessageDigest;
public class MD5Utils {
public static String md5Code(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] hash = digest.digest(input.getBytes("UTF-8"));
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < hash.length; i++) {
String hex = Integer.toHexString(0xff & hash[i]);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Test
public void test() {
String str = "Welcome";
String res = md5Code(str);
System.out.println(res);
}
}
SHA1 berechnet hashCode
package utils;
import org.junit.Test;
import java.security.MessageDigest;
public class SHA1Utils {
public static String sha1Code(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA1");
byte[] hash = digest.digest(input.getBytes("UTF-8"));
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < hash.length; i++) {
String hex = Integer.toHexString(0xff & hash[i]);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Test
public void test() {
String str = "Welcome";
String res = sha1Code(str);
System.out.println(res);
}
}
SHA256 hashCode berechnen
package utils;
import org.junit.Test;
import java.security.MessageDigest;
public class SHA256Utils {
public static String sha256Code(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes("UTF-8"));
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < hash.length; i++) {
String hex = Integer.toHexString(0xff & hash[i]);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Test
public void test() {
String value = "Welcome";
String res = sha256Code(value);
System.out.println(res);
}
}