关于Java SecureRandom类的原理

时间:2013-12-03 16:11:20

标签: java servlets random

我的目标是生成一个加密强大的随机数"每次我想要一个,使用servlet来跨越不同客户的不同请求。 java.security.SecureRandom类会这样做。我对它的"随机性"有一些疑问。或者"不可预测性"以及如何正确使用它。

根据javadoc,种子是由实现本身选择的,它将使用一些"真正的随机性"从硬件上实现其目标。

我是否应该像普通伪数生成器一样保留生成的值,或者每次我想要一个加密强的随机数时都可以创建一个SecureRandom类的实例(因为种子本身是"真正随机的"也许? )?

如果我必须每次都保留生成的值并根据前一个值生成下一个值,我将不得不在我的单个/集群服务器中使用单个随机对象,这可能会降低性能。

但第二种方法有效吗?我的平台是windows。在javadoc中,它并没有说明在Windows中是否真正使用了硬件随机性。实际上随机性是什么,我每次都可以新建一个SecureRandom,并保证真正的随机性和不可预测性吗?

0 个答案:

没有答案