Java SecureRandom generateSeed()方法及示例

Java SecureRandom generateSeed()方法及示例

java.security.SecureRandom 类的 generateSeed() 方法用于返回给定的种子字节数,该字节数是使用该类用来给自己播种的种子生成算法计算的。这个调用可以用来给其他随机数生成器添加种子。

语法

public byte[] generateSeed(int numBytes)

参数: 该方法以要生成的 种子字节数 为参数。

返回值: 该方法返回 生成的种子字节

下面是说明generateSeed()方法的例子。

注意

  1. 这个程序不会在在线IDE上运行。
  2. 每次Secure Random类都会产生随机输出:

例子1 :

// Java program to demonstrate
// generateSeed() 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");
 
            // getting the generated seed by into byte array
            // by using method generateSeed()
            byte[] arr = sr.generateSeed(8);
 
            // printing the byte array
            System.out.println(Arrays.toString(arr));
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}

输出

[24, -16, -12, 25, -3, 66, -90, 103]

例2 :

// Java program to demonstrate
// generateSeed() method
 
import java.security.*;
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
 
            // creating the object of SecureRandom getting the instance of TAJMAHAL
            System.out.println("Trying to get the instance from an unknown source");
            SecureRandom sr = SecureRandom.getInstance("TAJMAHAL");
 
            // getting the generated seed by into byte array
            // by using method generateSeed()
            byte[] arr = sr.generateSeed(5);
 
            // printing the byte array
            System.out.println("Seed Bytes: " + Arrays.toString(arr));
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}

输出

Trying to get the instance from an unknown source
Exception thrown : java.security.NoSuchAlgorithmException: TAJMAHAL SecureRandom not available

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程