0

我将 SecureRandom 与 SHA1PRNG 一起使用来生成随机序列。我不会让 SecureRandom 自己播种,我使用自己的价值观来播种。(请不要告诉我这是不安全的,我这样做是有原因的)。

但是,我不想让任何人知道我用的是什么种子。种子必须保密,并且不能从随机序列中重新计算种子。

从我的值计算 SHA-512 并用它播种 SecureRandom 是否有意义?还是 SecureRandom 从种子本身创建一个 SHA1 哈希?

长话短说:如果我想对“值”保密,我应该使用“值”.getBytes() 还是使用“值”的 SHA-512 哈希来播种 SecureRandom?

我在哪里可以找到 SHA1PRNG 算法如何工作的信息?

4

1 回答 1

2

安全方面,使用静态值或使用静态值的散列之间没有任何真正的区别。由于sha1(x)始终是相同的值,因此您实际上只是将一个静态值换成了不同的静态值。

无论哪种方式,如果有人不厌其烦地拆散你的程序,他们就会找出你正在使用的种子。

于 2013-08-31T20:00:26.950 回答