Amélioration des performances d'un générateur SecureRandom lent
La classe SecureRandom de Java est une source fiable de nombres aléatoires cryptographiquement sécurisés, mais ses performances peuvent être gêné, en particulier lors de l'utilisation de /dev/random sur les systèmes Linux. Ce retard provient du processus d'accumulation d'entropie suffisante pour la génération aléatoire.
Solutions pour améliorer les performances
1. Utilisation de /dev/urandom :
Une solution au problème de performances consiste à passer à /dev/urandom sous Linux, qui offre une alternative plus rapide. Pour activer cela, définissez la propriété système suivante :
-Djava.security.egd=file:/dev/urandom
2. Solution de contournement pour Java 5 et versions ultérieures (bogue Java 6202721) :
La propriété /dev/urandom susmentionnée ne fonctionne pas dans Java 5 et versions ultérieures en raison d'un bug. Pour résoudre ce problème, utilisez plutôt la propriété suivante :
-Djava.security.egd=file:/dev/./urandom
Considérations supplémentaires :
Bien que /dev/urandom soit plus rapide que /dev/random, il est important de notez que c'est légèrement moins sécurisé. Par conséquent, évaluez les exigences de sécurité de votre application avant de prendre une décision.
Uncommon Maths et JDK 6 :
L'article ne mentionne pas Uncommon Maths comme solution à ce problème. De plus, le problème de performances avec SecureRandom a été résolu dans les versions ultérieures du JDK, y compris le JDK 6.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!