Security Начинающий

Получение наиболее надёжной реализации SecureRandom на платформе.

✕ Java 8
// Default algorithm — may not be
// the strongest available
SecureRandom random =
    new SecureRandom();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
✓ Java 9+
// Platform's strongest algorithm
SecureRandom random =
    SecureRandom.getInstanceStrong();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
Заметили проблему в этом коде? Сообщите нам.
🛡️

Наиболее надёжный

Автоматически выбирает лучший алгоритм для платформы.

📖

Явное намерение

Явно указывает, что требуется высокая степень случайности.

🔧

Настраиваемый

Администраторы могут изменить надёжный алгоритм через свойства безопасности.

Старый подход
new SecureRandom()
Современный подход
getInstanceStrong()
Начиная с JDK
9
Сложность
Начинающий
Генерация надёжных случайных чисел
Доступно

Широко доступно с JDK 9 (сент. 2017)

getInstanceStrong() возвращает реализацию SecureRandom, настроенную как наиболее надёжная на платформе. Это управляется свойством безопасности securerandom.strongAlgorithms.