赞
踩
SecureRandom 类提供加密的强随机数生成器 (RNG)
它的许多实现都是伪随机数生成器 (PRNG) 形式,这意味着它们将使用确定的算法根据实际的随机种子生成伪随机序列
但是,SecureRandom 类收集了一些随机事件,比如鼠标点击,键盘点击等等,SecureRandom 使用这些随机事件作为种子。这意味着,种子是不可预测的,而不像 Random 默认使用系统当前时间的毫秒数作为种子,有规律可寻。
内置两种随机数算法,NativePRNG 和 SHA1PRNG
默认是使用 NativePRNG 算法生成随机数
SecureRandom secureRandom1 = SecureRandom.getInstance("SHA1PRNG");
SecureRandom secureRandom2 = SecureRandom.getInstance("SHA1PRNG", "SUN");
和 Random 类似用法
nextInt(int num)
生成 [0, num)
的值
获取随机一个 byte 数组,直接改变传入值
SecureRandom random = new SecureRandom();
byte[] test = new byte[20];
random.nextBytes(test);
这个数组中的数通常可以用来做其他随机生成器的种子
byte seed[] = random.generateSeed(20);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。