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 source
Exception thrown : java.security.NoSuchAlgorithmException: TAJMAHAL SecureRandom not available