我对java.util.Random
和java.security.SecureRandom
类感兴趣。我发现Random
使用系统时钟生成种子,SecureRandom
使用/dev/random
或/dev/urandom
,但是这些文件在Linux上,而在Windows上它使用一些{{1} }。即使那是超级安全功能,我们是否从哪里知道价值呢?产生种子的地下室是什么?
答案 0 :(得分:1)
类java.security。SecureRandom使用OS主机提供的系统API。每个操作系统都有自己的生成随机数的过程。
在Windows SecureRandom中使用方法CryptGenRandom,该方法是WinCrypt Windows库的一部分(包含在Windows系统库的Advapi32.dll中)。
关于Windows功能的所有文档都可以在CryptGenRandom的Microsoft文档中找到