El método setSeed() de la clase java.security.SecureRandom se utiliza para volver a generar este objeto aleatorio. La semilla dada complementa, en lugar de reemplazar, la semilla existente. Por lo tanto, se garantiza que las llamadas repetidas nunca reduzcan la aleatoriedad.
Sintaxis:
public void setSeed(byte[] seed)
Parámetros: Este método toma la semilla como parámetro.
Nota: cada vez que la clase aleatoria segura generará una salida aleatoria
A continuación se muestran los ejemplos para ilustrar el método setSeed() :
Ejemplo 1:
// Java program to demonstrate // setSeed() 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 b byte[] b = str.getBytes(); // Reseeding the random object sr.setSeed(b); // getting the seeds byte[] seeds = sr.getSeed(10); // printing the seed serialwise for (int i = 0; i < seeds.length; i++) System.out.println("Seed[" + i + "] : " + seeds[i]); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Seed[0]:69 Seed[0] : 23 Seed[1] : -99 Seed[2] : -51 Seed[3] : 107 Seed[4] : 41 Seed[5] : -96 Seed[6] : -93 Seed[7] : -86 Seed[8] : 127 Seed[9] : 47
Ejemplo 2:
// Java program to demonstrate // setSeed() 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(); // Reseeding the random object sr.setSeed(b); // getting the seeds byte[] seeds = sr.getSeed(10); // printing the seed serialwise for (int i = 0; i < seeds.length; i++) System.out.println("Seed[" + i + "]:" + seeds[i]); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Seed[0]:92 Seed[1]:127 Seed[2]:28 Seed[3]:-127 Seed[4]:-100 Seed[5]:-110 Seed[6]:86 Seed[7]:-55 Seed[8]:48 Seed[9]:-78
El método setSeed (semilla larga) de la clase java.security.SecureRandom se usa para volver a sembrar este objeto aleatorio, usando los ocho bytes contenidos en la semilla larga dada. La semilla dada complementa, en lugar de reemplazar, la semilla existente. Por lo tanto, se garantiza que las llamadas repetidas nunca reduzcan la aleatoriedad.
Sintaxis:
public void setSeed( long seed )
Parámetros: este método toma la semilla como parámetro.
Nota: cada vez que la clase aleatoria segura generará una salida aleatoria
A continuación se muestran los ejemplos para ilustrar el método setSeed() :
Ejemplo 1:
// Java program to demonstrate // setSeed() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating the object of SecureRandom SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "SUN"); // Reseeding the random object sr.setSeed(101L); // getting the seeds byte[] seeds = sr.getSeed(10); // printing the seed serialwise for (int i = 0; i < seeds.length; i++) System.out.println("Seed[" + i + "] : " + seeds[i]); } catch (NoSuchAlgorithmException e) { System.out.println("Exception thrown : " + e); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Seed[0] : -36 Seed[1] : -65 Seed[2] : -94 Seed[3] : 16 Seed[4] : -104
Ejemplo 2:
// Java program to demonstrate // setSeed() 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 }); // Reseeding the random object sr.setSeed(101L); // getting the seeds byte[] seeds = sr.getSeed(10); // printing the seed serialwise for (int i = 0; i < seeds.length; i++) System.out.println("Seed[" + i + "]:" + seeds[i]); } catch (ProviderException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Seed[0]:-29 Seed[1]:-93 Seed[2]:6 Seed[3]:66 Seed[4]:126 Seed[5]:93 Seed[6]:-58 Seed[7]:-91 Seed[8]:-62 Seed[9]:-58
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA