El método nextBytes() de la clase java.security.SecureRandom se utiliza para generar un número de bytes aleatorios especificado por el usuario.
Si no se ha producido una llamada a setSeed anteriormente, la primera llamada a este método fuerza a este objeto SecureRandom a que se genere a sí mismo. Esta propagación automática no se producirá si se llamó previamente a setSeed.
Sintaxis:
public void nextBytes(byte[] bytes)
Parámetros: este método toma como parámetro la array que se completará con bytes aleatorios.
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 nextBytes() :
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 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 : [-79, -110, -18, -31, -54, -36, 63, -61]
Nota: El siguiente programa arroja la siguiente excepción en el IDE de GeeksForGeeks, pero se ejecutará de manera eficiente en cualquier símbolo del sistema (JDK)
Exception thrown : java.security.ProviderException: init failed
Ejemplo 2:
// 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 SecureRandom sr = new SecureRandom(new byte[] { 1, 2, 3, 4 }); // Declaring the string variable String str = "Tajmahal"; // Declaring the byte Array b 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 (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 : [-14, 77, 123, 121, 116, 50, -89, -86]
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA