我正在使用桌面应用程序,并且很乐意使用碰巧可用的任何硬件随机数生成器,但我不希望用户必须使用任何令人困惑的设置来使用它。它的Java / Clojure基于Java世界的东西会很好,虽然我愿意和任何事情一起工作。知道任何做得好的程序吗?他们是跨平台吗?
答案 0 :(得分:6)
您应该使用Java SecureRandom类。用户可以通过设置其preference order来覆盖硬件RNG的默认算法选择。这适用于所有Java应用程序,包括您的应用程序。
答案 1 :(得分:2)
这取决于您需要生成的随机数的质量。具体来说,您需要多少entropy?
如果您确实需要一些不依赖于可预测时钟的核心随机数,您可能需要查看可用的第三方发生器。
http://en.wikipedia.org/wiki/Hardware_random_number_generator
其中一些使用热量等......来增加每个位的熵。