Starke Zufallszahlengenerierung
Die stärkste SecureRandom-Implementierung der Plattform abrufen.
Code-Vergleich
✕ 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);
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Stärkste verfügbare
Wählt automatisch den besten Algorithmus für die Plattform.
Explizite Absicht
Kommuniziert klar, dass starke Zufälligkeit erforderlich ist.
Konfigurierbar
Administratoren können den starken Algorithmus über Sicherheitseigenschaften ändern.
Alter Ansatz
new SecureRandom()
Moderner Ansatz
getInstanceStrong()
Seit JDK
9
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Starke Zufallszahlengenerierung
Verfügbar
Weitgehend verfügbar seit JDK 9 (Sept. 2017)
Wie es funktioniert
getInstanceStrong() gibt die SecureRandom-Implementierung zurück, die auf der Plattform als die stärkste konfiguriert ist. Dies wird durch die Sicherheitseigenschaft securerandom.strongAlgorithms gesteuert.
Zugehörige Dokumentation