Семена для java.security.SecureRandom на ОС Windows - PullRequest
0 голосов
/ 27 ноября 2018

Меня интересуют java.util.Random и java.security.SecureRandom классы.Я обнаружил, что Random использует системные часы для генерации семян, а SecureRandom использует /dev/random или /dev/urandom, но эти файлы в Linux, в то время как в Windows он использует некоторый туман CryptGenRandom.Даже если это сверхзащищенная функция, знаем ли мы, откуда она берет значения?Что такое подвал для генерации семян?

1 Ответ

0 голосов
/ 27 ноября 2018

Класс java.security. SecureRandom Использует системный API, предоставляемый хостом ОС.Каждая ОС имеет свой собственный процесс для генерации случайных чисел.

В Windows SecureRandom использует метод CryptGenRandom , который является частью библиотеки Windows WinCrypt (входит в Advapi32.dll изСистемные библиотеки Windows).

Вся документация по функции Windows доступна в документации Microsoft по CryptGenRandom

...