Hachís MD5 en Java

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *