getInstance (algoritmo de string)
El método getInstance() de la clase java.security.SecureRandom se utiliza para devolver un objeto SecureRandom que implementa el algoritmo generador de números aleatorios (RNG) especificado.
Este método recorre la lista de proveedores de seguridad registrados, comenzando por el proveedor de mayor preferencia. Se devuelve un nuevo objeto SecureRandom que encapsula la implementación de SecureRandomSpi del primer proveedor que admite el algoritmo especificado.
Sintaxis:
public static SecureRandom getInstance( String algorithm ) throws NoSuchAlgorithmException
Parámetros: Este método toma el algoritmo RNG estándar como parámetro.
Valor devuelto: este método devuelve el nuevo objeto SecureRandom .
Excepción: este método arroja NoSuchAlgorithmException , si ningún proveedor admite una implementación de SecureRandomSpi para el algoritmo especificado.
Nota:
- Los programas no se ejecutarán en IDE en línea.
- Cada vez que la clase Secure Random generará una salida aleatoria.
A continuación se muestran los ejemplos para ilustrar el método getInstance() :
Ejemplo 1:
// Java program to demonstrate // nextBytes() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of SecureRandom and getting instance // By using getInstance() method SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Byte array before operation : [84, 97, 106, 109, 97, 104, 97, 108] Byte array after operation : [124, -66, -62, -5, -71, -4, 30, 16]
Ejemplo 2:
// 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 SecureRandom and getting instance // By using getInstance() method System.out.println("Trying to get the instance of TAJMAHAL"); SecureRandom sr = SecureRandom.getInstance("TAJMAHAL"); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Trying to get the instance of TAJMAHAL Exception thrown : java.security.NoSuchAlgorithmException: TAJMAHAL SecureRandom not available
getInstance (algoritmo de string, proveedor de proveedor)
El método getInstance() de la clase java.security.SecureRandom se utiliza para devolver un objeto SecureRandom que implementa el algoritmo generador de números aleatorios (RNG) especificado.
Se devuelve un nuevo objeto SecureRandom que encapsula la implementación de SecureRandomSpi del objeto Provider especificado. Tenga en cuenta que el objeto Proveedor especificado no tiene que estar registrado en la lista de proveedores.
El objeto SecureRandom devuelto no se sembró. Para inicializar el objeto devuelto, llame al método setSeed. Si no se llama a setSeed, la primera llamada a nextBytes forzará que el objeto SecureRandom se genere a sí mismo. Esta propagación automática no se producirá si se llamó previamente a setSeed.
Sintaxis:
public static SecureRandom getInstance( String algorithm, Provider provider ) throws NoSuchAlgorithmException
Parámetros: este método toma el siguiente argumento como parámetro
- algoritmo: el nombre del algoritmo RNG.
- proveedor – el proveedor.
Valor devuelto: este método devuelve el nuevo objeto SecureRandom .
Excepción: este método arroja la siguiente excepción
- NoSuchAlgorithmException: si una implementación de SecureRandomSpi para el algoritmo especificado no está disponible desde el objeto de proveedor especificado.
- IllegalArgumentException: si el proveedor especificado es nulo.
Nota:
- Los programas no se ejecutarán en IDE en línea.
- Cada vez que la clase Secure Random generará una salida aleatoria.
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 SecureRandom object SecureRandom sr1 = new SecureRandom(new byte[] { 1, 2, 3, 4 }); // creating Provider object Provider pd = sr1.getProvider(); // creating the object of SecureRandom and getting instance // By using getInstance() method SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", pd); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Byte array before operation : [84, 97, 106, 109, 97, 104, 97, 108] Byte array after operation : [109, 55, 116, -15, -83, 126, -128, 88]
Nota: El siguiente programa produce la siguiente excepción en la
excepción IDE en línea lanzada: java.security.ProviderException: init fail
Ejemplo 2:
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating SecureRandom object SecureRandom sr1 = new SecureRandom(new byte[] { 1, 2, 3, 4 }); // creating Provider object Provider pd = sr1.getProvider(); // creating the object of SecureRandom and getting instance // By using getInstance() method System.out.println("Trying to getting the instance of TAJMAHAL "); SecureRandom sr = SecureRandom.getInstance("TAJMAHAL", pd); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Trying to getting the instance of TAJMAHAL Exception thrown : java.security.NoSuchAlgorithmException: no such algorithm: TAJMAHAL for provider SUN
getInstance (algoritmo de string, proveedor de string)
El método getInstance() de la clase java.security.SecureRandom se utiliza para devolver un objeto SecureRandom que implementa el algoritmo generador de números aleatorios (RNG) especificado.
Se devuelve un nuevo objeto SecureRandom que encapsula la implementación de SecureRandomSpi del proveedor especificado. El proveedor especificado debe estar registrado en la lista de proveedores de seguridad.
Sintaxis:
public static SecureRandom getInstance( String algorithm, String provider ) throws NoSuchAlgorithmException, NoSuchProviderException
Parámetros: este método toma el siguiente argumento como parámetro
- algoritmo : el nombre del algoritmo RNG. Consulte la sección SecureRandom en la Documentación de nombres de algoritmos estándar de la arquitectura de criptografía de Java para obtener información sobre los nombres de algoritmos RNG estándar.
- proveedor: el nombre del proveedor.
Valor devuelto: este método devuelve el nuevo objeto SecureRandom .
Excepción: este método arroja la siguiente excepción
- NoSuchAlgorithmException : si una implementación de SecureRandomSpi para el algoritmo especificado no está disponible del proveedor especificado.
- NoSuchProviderException : si el proveedor especificado no está registrado en la lista de proveedores de seguridad.
- IllegalArgumentException : si el nombre del proveedor es nulo o está vacío.
Nota:
- Los programas no se ejecutarán en IDE en línea.
- Cada vez que la clase Secure Random generará una salida aleatoria.
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) throws NoSuchAlgorithmException, NoSuchProviderException { try { // creating SecureRandom object SecureRandom sr1 = new SecureRandom(new byte[] { 1, 2, 3, 4 }); // creating Provider object Provider pd = sr1.getProvider(); // getting provider name // by using method getname() String provider = pd.getName(); // getting algorithm name // by using getAlgorithm() mathod String algo = sr1.getAlgorithm(); // creating the object of SecureRandom and getting instance // By using getInstance() method SecureRandom sr = SecureRandom.getInstance(algo, provider); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Byte array before operation : [84, 97, 106, 109, 97, 104, 97, 108] Byte array after operation : [-11, 81, 39, 67, -95, -51, 115, -18]
Ejemplo 2:
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) throws NoSuchAlgorithmException, NoSuchProviderException { try { // creating SecureRandom object SecureRandom sr1 = new SecureRandom(new byte[] { 1, 2, 3, 4 }); // creating Provider object Provider pd = sr1.getProvider(); // getting provider name // by using method getname() String provider = pd.getName(); // creating the object of SecureRandom and getting instance // By using getInstance() method System.out.println("Trying to take TAJMAHAL as a algorithm"); SecureRandom sr = SecureRandom.getInstance("TAJMAHAL", provider); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Trying to take TAJMAHAL as a algorithm Exception thrown : java.security.NoSuchAlgorithmException: no such algorithm: TAJMAHAL for provider SUN
Ejemplo 3:
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) throws NoSuchAlgorithmException, NoSuchProviderException { try { // creating SecureRandom object SecureRandom sr1 = new SecureRandom(new byte[] { 1, 2, 3, 4 }); // getting algorithm name // by using getAlgorithm() mathod String algo = sr1.getAlgorithm(); // creating the object of SecureRandom and getting instance // By using getInstance() method System.out.println("Trying to taking MOON as a provider"); SecureRandom sr = SecureRandom.getInstance(algo, "MOON"); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array // converting string into byte byte[] b = str.getBytes(); // printing the byte array System.out.println("Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println("Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (NoSuchProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Trying to taking MOON as a provider Exception thrown : java.security.NoSuchProviderException: no such provider: MOON
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA