Método MessageDigest getInstance() en Java con ejemplos

getInstance (algoritmo de string)

El método getInstance() de la clase java.security.MessageDigest solía devolver un objeto de tipo MessageDigest que aplica el algoritmo MessageDigest asignado.

Sintaxis:

public static MessageDigest
  getInstance(String algorithm)
  throws NoSuchAlgorithmException

Parámetros: Este método acepta como parámetro el nombre del Algoritmo estándar .

Valor devuelto: este método proporciona un objeto de tipo MessageDigest .

Excepción: este método arroja la siguiente excepción:

  • NoSuchAlgorithmException: si ningún proveedor admite una aplicación spi de resumen de mensajes para el algoritmo en particular.
  • NullPointerException: si el algoritmo es nulo.

A continuación se muestran los ejemplos para ilustrar el método getInstance() :

Ejemplo 1:

// Java program to demonstrate
// getInstance() method
  
import java.security.*;
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            MessageDigest sr
                = MessageDigest.getInstance("MD5");
  
            // getting the status of MessageDigest object
            String str = sr.toString();
  
            // printing the status
            System.out.println("Status : " + str);
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Status : MD5 Message Digest from SUN, <initialized>

Ejemplo 2: Para mostrar NoSuchAlgorithmException

// Java program to demonstrate
// getInstance() method
  
import java.security.*;
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            MessageDigest sr
                = MessageDigest.getInstance("GFG");
  
            // getting the status of MessageDigest object
            String str = sr.toString();
  
            // printing the status
            System.out.println("Status : " + str);
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Exception thrown :
 java.security.NoSuchAlgorithmException:
 GFG MessageDigest not available

getInstance (algoritmo de string, proveedor de string)

Este método getInstance() de la clase java.security.MessageDigest proporciona un objeto de tipo MessageDigest que aplica el algoritmo MessageDigest asignado y el objeto de proveedor asignado.

Sintaxis:

public static MessageDigest 
  getInstance(String algorithm, String provider)
  throws NoSuchAlgorithmException

Parámetros: Este método busca los siguientes argumentos como parámetros:

  • algoritmo : que es el nombre del algoritmo que se especificará en esta instancia.
  • proveedor : que es el nombre del proveedor que se especificará en esta instancia

Valor devuelto: este método proporciona un objeto de tipo MessageDigest .

Excepción: este método arroja las siguientes excepciones:

  • NoSuchAlgorithmException: – si no hay disponible ninguna implementación de MessageDigestSpi para el algoritmo en particular del proveedor en particular.
  • IllegalArgumentException: si el proveedor es nulo.
  • NullPointerException: si el algoritmo es nulo

A continuación se muestran los ejemplos para ilustrar el método getInstance() :

Ejemplo 1:

// Java program to demonstrate
// getInstance() method
  
import java.security.*;
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            MessageDigest sr
                = MessageDigest.getInstance(
                    "SHA-384", "SUN");
  
            // getting the status of MessageDigest object
            String str = sr.toString();
  
            // printing the status
            System.out.println("Status : " + str);
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NoSuchProviderException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Status : SHA-384 Message Digest from SUN, <initialized>

Ejemplo 2: Para mostrar NoSuchAlgorithmException

// Java program to demonstrate
// getInstance() method
  
import java.security.*;
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            MessageDigest sr
                = MessageDigest.getInstance(
                    "GFG", "SUN");
  
            // getting the status of MessageDigest object
            String str = sr.toString();
  
            // printing the status
            System.out.println("Status : " + str);
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NoSuchProviderException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Exception thrown :
 java.security.NoSuchAlgorithmException:
 no such algorithm: GFG for provider SUN

Referencia: https://docs.oracle.com/javase/9/docs/api/java/security/MessageDigest.html#getInstance-java.lang.String-java.lang.String-

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 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 *