一、简介
SecureRandom
类用于生成加密安全的随机数。与 Random
类不同,SecureRandom
专为加密应用而设计,它提供了更强的随机数生成算法,如SHA1PRNG、NativePRNG等。这些算法通常基于密码学安全的伪随机数生成器(PRNGs),这些生成器在多次迭代后仍然能够保持难以预测。
二、示例
import java.security.SecureRandom;
public class SecureRandomExample {
public static void main(String[] args) {
// 创建一个SecureRandom实例
SecureRandom secureRandom = new SecureRandom();
// 生成一个安全的随机整数
int randomInt = secureRandom.nextInt(100); // 生成0到99之间的随机整数
System.out.println("Random Integer: " + randomInt);
// 生成一个安全的随机浮点数
float randomFloat = secureRandom.nextFloat(); // 生成0.0(包含)到1.0(不包含)之间的随机浮点数
System.out.println("Random Float: " + randomFloat);
// 生成一个安全的随机字节数组
byte[] randomBytes = new byte[16];
secureRandom.nextBytes(randomBytes);
// 这里你可以使用randomBytes数组进行加密或其他需要安全随机数的操作
}
}
虽然 SecureRandom
提供了更强的随机数生成能力,但它也可能比 Random
类慢一些,因为它使用了更复杂的算法。在不需要加密安全性的情况下,使用 Random
类可能就足够了。