1

我有兴趣java.util.Randomjava.security.SecureRandom课程。我发现Random使用系统时钟来生成种子并SecureRandom使用/dev/randomor/dev/urandom但是这些文件在 Linux 上,而在 Windows 上它使用一些 mistic CryptGenRandom。即使这是超级安全的功能,我们是否知道它从哪里获取值?产生种子的地下室是什么?

4

1 回答 1

1

类 java.security。SecureRandom使用 OS 主机提供的系统 API。每个操作系统都有自己的过程来生成随机数。

在 Windows SecureRandom中使用方法CryptGenRandom,它是 WinCrypt Windows 库的一部分(包含在 Windows 系统库的 Advapi32.dll 中)。

CryptGenRandom的 Microsoft 文档中提供了有关 Windows 功能的所有文档

于 2018-11-27T09:53:29.650 回答