Заполнение безопасного случайного числа в Java - PullRequest
2 голосов
/ 08 марта 2012

Будут ли два экземпляра java.security.SecureRandom, засеянные одним и тем же значением, изначально давать одинаковую последовательность случайных чисел?

Я спрашиваю об этом, потому что мне нужна одинаковая последовательность случайных чисел как на клиенте, так и на сервере. Что, если они оба используют одинаковое начальное значение? Будет ли последовательность одинаковой или же последовательность может быть одинаковой?

Ответы [ 2 ]

8 голосов
/ 08 марта 2012

С API документы :

Если два экземпляра Random созданы с одним и тем же начальным числом, и для каждого выполняется одна и та же последовательность вызовов методов, они будут генерировать и возвращать идентичные последовательности чисел.

2 голосов
/ 24 декабря 2012

Что, если они оба используют одинаковое начальное значение.Будет ли последовательность одинаковой?

Нет, они точно не будут.По крайней мере, в реализации Oracle 7 SDK Oracle.Смотрите мой пример кода в этом посте SO .Похоже, что реализация может выбрать использование дополнительных источников случайности, в дополнение к предоставленному начальному числу.

...