Para calcular el valor hash criptográfico en Java, se utiliza MessageDigest Class, bajo el paquete java.security.
MessageDigest Class proporciona la siguiente función hash criptográfica para encontrar el valor hash de un texto, son:
1. MD5
2. SHA-1
3. SHA-256
Estos algoritmos se inicializan en un método estático llamado getInstance() . Después de seleccionar el algoritmo, calcula el valor de resumen y devuelve los resultados en una array de bytes.
Se utiliza la clase BigInteger, que convierte la array de bytes resultante en su representación de magnitud de signo .
Esta representación se convierte en formato hexadecimal para obtener el MessageDigest
Ejemplos:
Input : hello world Output : 5eb63bbbe01eeed093cb22bb8f5acdc3 Input : GeeksForGeeks Output : e39b9c178b2c9be4e99b141d956c6ff6
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; // Java program to calculate MD5 hash value public class MD5 { public static String getMd5(String input) { try { // Static getInstance method is called with hashing MD5 MessageDigest md = MessageDigest.getInstance("MD5"); // digest() method is called to calculate message digest // of an input digest() return array of byte byte[] messageDigest = md.digest(input.getBytes()); // Convert byte array into signum representation BigInteger no = new BigInteger(1, messageDigest); // Convert message digest into hex value String hashtext = no.toString(16); while (hashtext.length() < 32) { hashtext = "0" + hashtext; } return hashtext; } // For specifying wrong message digest algorithms catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } // Driver code public static void main(String args[]) throws NoSuchAlgorithmException { String s = "GeeksForGeeks"; System.out.println("Your HashCode Generated by MD5 is: " + getMd5(s)); } }
Producción:
Your HashCode Generated by MD5 is: e39b9c178b2c9be4e99b141d956c6ff6
Referencias: Java Docs para MessageDigest
Publicación traducida automáticamente
Artículo escrito por bilal-hungund y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA