Heim >Java >javaLernprogramm >Wie kann ich die SecureRandom-Leistung von Java beschleunigen?
Verbesserung der Leistung eines langsamen SecureRandom-Generators
Die SecureRandom-Klasse von Java ist eine zuverlässige Quelle für kryptografisch sichere Zufallszahlen, aber ihre Leistung kann sein Dies wird insbesondere bei der Verwendung von /dev/random auf Linux-Systemen behindert. Diese Verzögerung ist auf den Prozess zurückzuführen, bei dem ausreichend Entropie für die Zufallserzeugung angesammelt wird.
Lösungen zur Leistungssteigerung
1. Verwendung von /dev/urandom:
Eine Lösung für das Leistungsproblem besteht darin, unter Linux zu /dev/urandom zu wechseln, was eine schnellere Alternative darstellt. Um dies zu aktivieren, legen Sie die folgende Systemeigenschaft fest:
-Djava.security.egd=file:/dev/urandom
2. Problemumgehung für Java 5 und höher (Java Bug 6202721):
Die oben genannte /dev/urandom-Eigenschaft funktioniert aufgrund eines Fehlers nicht in Java 5 und höher. Um dieses Problem zu beheben, verwenden Sie stattdessen die folgende Eigenschaft:
-Djava.security.egd=file:/dev/./urandom
Zusätzliche Überlegungen:
Während /dev/urandom schneller als /dev/random ist, ist es wichtig, dies zu tun Beachten Sie, dass es etwas weniger sicher ist. Bewerten Sie daher die Sicherheitsanforderungen Ihrer Anwendung, bevor Sie eine Entscheidung treffen.
Uncommon Maths und JDK 6:
Der Artikel erwähnt Uncommon Maths nicht als Lösung für dieses Problem. Darüber hinaus wurde das Leistungsproblem mit SecureRandom in nachfolgenden Versionen von JDK, einschließlich JDK 6, behoben.
Das obige ist der detaillierte Inhalt vonWie kann ich die SecureRandom-Leistung von Java beschleunigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!