📅  最后修改于: 2023-12-03 15:16:26.287000             🧑  作者: Mango
SecureRandom getInstance() 方法是Java提供的产生安全随机数的方法之一。该方法返回一个SecureRandom对象,可以用来产生伪随机数序列。SecureRandom对象实例化后,可以使用nextInt()、nextLong()等方法获取随机数。
public static SecureRandom getInstance(String algorithm) throws NoSuchAlgorithmException
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
public class SecureRandomExample {
public static void main(String[] args) {
// 实例化SecureRandom对象
SecureRandom secureRandom = null;
try {
secureRandom = SecureRandom.getInstance("SHA1PRNG");
} catch (NoSuchAlgorithmException e) {
System.out.println("Error: " + e.getMessage());
}
// 生成随机数
System.out.println("随机整数:" + secureRandom.nextInt());
System.out.println("随机长整数:" + secureRandom.nextLong());
byte[] bytes = new byte[20];
secureRandom.nextBytes(bytes);
System.out.print("随机字节数组:");
for (byte b : bytes) {
System.out.print(b + " ");
}
}
}
随机整数:24415881 随机长整数:2128459433374129573 随机字节数组:-45 -114 26 -53 -114 91 -3 -92 9 114 -25 -39 52 -17 -29 46 46 -12 62 -20
以上示例中,我们选择了SHA1PRNG算法来产生随机数。通过实例化SecureRandom对象并调用nextInt()、nextLong()等方法,我们可以生成伪随机数序列。此外,我们还使用nextBytes()方法获取随机字节数组。通过循环遍历字节数组,可以发现字节数组中每个元素的值都是随机的。
总之,SecureRandom getInstance() 方法是Java提供的自动生成安全随机数的一种方式,可以有效避免随机数生成过程中的伪随机现象,保证生成的随机数的安全性和不可预测性。