问题在标题中,非常新,所以还不太了解该网站。想要使用散列来创建“更多的随机性”,但还不能确定Math.Random(),它有可能破解它吗?
发布于 2015-10-09 10:27:12
如果您使用的是java.util.Random(),这是可能的。看看这个代码
为了获得更好的安全性,您必须使用SecureRandom,如下所示
SecureRandom secureRandomGenerator = SecureRandom.getInstance("SHA1PRNG");但是最好的解决方案,也就是不能破解的方法是使用Hardware for Random number generation.
编辑:
基于随机类MersenneTwister的算法可以根据这个文章被Dan Petro黑客攻击。
要使用的密码安全伪随机数字生成器( CSPRNGs )是:
/dev/urandomSecureRandom类RNGCryptoServiceProvider类openssl_random_pseudo_bytes()函数相反,需要避免的随机数生成器的一些例子是:
libc rand()函数rand()和mt_rand()函数看一下托马斯·胡恩的“文章”
https://stackoverflow.com/questions/33035721
复制相似问题