以编程方式使用硬件随机数生成器

时间:2009-08-05 20:29:31

标签: java random clojure cryptography desktop-application

我正在使用桌面应用程序,并且很乐意使用碰巧可用的任何硬件随机数生成器,但我不希望用户必须使用任何令人困惑的设置来使用它。它的Java / Clojure基于Java世界的东西会很好,虽然我愿意和任何事情一起工作。知道任何做得好的程序吗?他们是跨平台吗?

2 个答案:

答案 0 :(得分:6)

您应该使用Java SecureRandom类。用户可以通过设置其preference order来覆盖硬件RNG的默认算法选择。这适用于所有Java应用程序,包括您的应用程序。

答案 1 :(得分:2)

这取决于您需要生成的随机数的质量。具体来说,您需要多少entropy

如果您确实需要一些不依赖于可预测时钟的核心随机数,您可能需要查看可用的第三方发生器。

http://en.wikipedia.org/wiki/Hardware_random_number_generator

其中一些使用热量等......来增加每个位的熵。

相关问题