Известно, что класс SecureRandom обеспечивает надежную криптографическую безопасность для сгенерированного случайного числа. java.util.Random
небезопасен для ситуации, которая требует криптографической защиты. Типичное использование SecureRandom
:
SecureRandom random = new SecureRandom();
byte bytes[] = new byte[20];
random.nextBytes(bytes);
Однако я встретил случай:
SecureRandom random = new SecureRandom();
int number = random.ints();
Метод ints()
унаследован от класса java.util.Random
. Я сбит с толку, когда SecureRandom
, который является безопасным генератором случайных чисел, использует метод, унаследованный от небезопасного генератора случайных чисел, является ли он безопасным?