secure-random相关内容
我有一个 java 方法,它必须在很短的时间内生成大量随机数.我的第一种方法是使用 Math.random(它工作得非常快),但我有一个假设,因为我在另一个之后调用 Math.random 如此快,“随机"不是因此非常随机(或不那么随机)(但我需要它尽可能随机). 我现在有两个问题: 我的假设是否正确,因为在很短的时间内随机输出的随机性变小了?如果 1. 的答案是肯定的: 消除随机性
..
标题几乎总结了它 - 我们可以创建一个 java.util.Random(或 SecureRandom)的实例,并在每次需要随机值或我们每次都可以按需创建一个新实例.想知道哪种方式是首选方式,为什么? 给出一些关于上下文的想法:随机值是在 HTTP 请求处理程序中生成的,每个请求一个,我正在寻找考虑多线程的安全性和性能的最佳组合. 解决方案 视情况而定. 创建单个实例显然更简单
..
考虑到Java SecureRandom.nextLong()是否从仅使用48位的 Random 继承,它是否返回所有可能的值?如果没有,我是否仍可以通过修改Random类以及如何做到这一点在Java中完成呢?我只想使用一个全随机的长数生成器,如果可能的话,可以返回所有可能的长值. 解决方案 尽管SecureRandom继承自Random,但它使用的数学方式不同或具有相同的限制.最终将产生
..
Java 9(JSR 379) 在800-90Ar1中(在所有平台上)实施三种DRBG机制(Hash_DRBG,HMAC_DRBG,CTR_DRBG). 但是,尽管您可能希望我们现在可以使用三种方法来创建这种安全的随机算法: SecureRandom.getInstance("Hash_DRBG") SecureRandom.getInstance("HMAC_DRBG") Se
..
无论如何,我是否可以始终生成相同的私钥?我累了用private PrivateKey getPrivateKey(String seed) { try { SecureRandom sr = new SecureRandom(seed.getBytes()); KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); keyGen
..
假设我需要良好的种子来初始化Java程序中的伪随机生成器(PRNG),并且我无法访问任何硬件随机生成器. 如何在没有任何用户交互的情况下从JVM获取熵? 解决方案 SHA-1将被折旧 该漏洞与CSPRNG的构建无关. 如何从JVM获取熵? SecureRandom是各种安全提供程序的通用外观,
..
目前,我正在寻找一种方法来提高 Android 应用程序(纸牌游戏)中随机性的质量。以前,据估计,对于我的情况(52!置换),至少需要226位熵(226个随机位).. 我打算使用这个 byte [] 作为 SecureRandom的种子: SecureRandom random = new SecureRandom(); random.setSeed(/ * insert see
..