Java SecureRandom generateSeed()方法及示例
java.security.SecureRandom 类的 generateSeed() 方法用于返回给定的种子字节数,该字节数是使用该类用来给自己播种的种子生成算法计算的。这个调用可以用来给其他随机数生成器添加种子。
语法
public byte[] generateSeed(int numBytes)
参数: 该方法以要生成的 种子字节数 为参数。
返回值: 该方法返回 生成的种子字节 。
下面是说明generateSeed()方法的例子。
注意
- 这个程序不会在在线IDE上运行。每次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 sourceException thrown : java.security.NoSuchAlgorithmException: TAJMAHAL SecureRandom not available
