是否有JavaSecureRandom.nextLong()
返回所有可能的值,因为它继承自Random
它只使用 48 位?如果没有,我仍然可以在 Java 中通过修改 Random 类来实现它吗?如何做到这一点?我只想使用一个全随机长数生成器,如果可能的话,可以返回所有可能的长值。
虽然 SecureRandom 继承自 Random,但它不使用相同的数学原理或具有相同的限制。它最终将产生所有可能的 64 位值。
此类提供了加密的强随机数生成器 (RNG)。
此类委托给许多可能的实现之一。您可以通过调用选择一个SecureRandom.getInstance(algorithm)
注意:某些实现使用计算机中的熵来使结果随机,而不是纯粹的伪随机。
这使用 48 位算法
SecureRandom 不使用其父级的任何方法,例如
/**
* The provider implementation.
*/
private SecureRandomSpi secureRandomSpi = null;
public void nextBytes(byte[] bytes) {
secureRandomSpi.engineNextBytes(bytes);
}
该方法委托给完全不同的实现。
相关链接如何解决Java`SecureRandom`速度慢的问题? https://stackoverflow.com/questions/137212/how-to-solve-slow-java-securerandom由于使用/dev/random
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)