Generowanie silnych liczb losowych
Pobierz najmocniejszą implementację SecureRandom dostępną na platformie.
Porównanie kodu
✕ 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);
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Najmocniejsza dostępna
Automatycznie wybiera najlepszy algorytm dla platformy.
Jawna intencja
Wyraźnie komunikuje, że wymagana jest silna losowość.
Konfigurowalny
Administratorzy mogą zmieniać silny algorytm przez właściwości bezpieczeństwa.
Stare podejście
new SecureRandom()
Nowoczesne podejście
getInstanceStrong()
Od JDK
9
Poziom trudności
Początkujący
Wsparcie JDK
Generowanie silnych liczb losowych
Dostępne
Szeroko dostępne od JDK 9 (wrzesień 2017)
Jak to działa
getInstanceStrong() zwraca implementację SecureRandom skonfigurowaną jako najmocniejsza na platformie. Jest kontrolowana przez właściwość bezpieczeństwa securerandom.strongAlgorithms.
Powiązana dokumentacja
Dowód