我有兴趣java.util.Random
和java.security.SecureRandom
课程。我发现Random
使用系统时钟来生成种子并SecureRandom
使用/dev/random
or/dev/urandom
但是这些文件在 Linux 上,而在 Windows 上它使用一些 mistic CryptGenRandom
。即使这是超级安全的功能,我们是否知道它从哪里获取值?产生种子的地下室是什么?
问问题
991 次
1 回答
1
类 java.security。SecureRandom使用 OS 主机提供的系统 API。每个操作系统都有自己的过程来生成随机数。
在 Windows SecureRandom中使用方法CryptGenRandom,它是 WinCrypt Windows 库的一部分(包含在 Windows 系统库的 Advapi32.dll 中)。
CryptGenRandom的 Microsoft 文档中提供了有关 Windows 功能的所有文档
于 2018-11-27T09:53:29.650 回答