Método SecureRandom setSeed() en Java con ejemplos

setSeed(byte[] semilla )

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
setSeed (semilla larga)

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

Deja una respuesta

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