具体来说,我只想产生一个在0到某个数字x之间具有密码学安全性的随机数。
在OpenSSL中,可以使用函数bn_range
来实现。
我可以使用Java的BigInteger(int bits, Random r)
构造函数自己实现(它生成从0到2bits的数字)。但出于安全考虑,我希望如果可能的话,使用经过更好测试的算法。
在Java中是否有标准的方法来完成这个任务?
P.S. 我实际上正在使用Android,但我不知道如何在标准的Java中实现它。
编辑:x是存储为BigInteger
的大整数。
random.nextInt(Y-X)+X
。 - amccormack