Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Meningkatkan Prestasi SecureRandom di Java?
Strategi untuk Mempercepatkan Prestasi SecureRandom
SecureRandom, asas penjanaan nombor rawak yang teguh secara kriptografi di Java, boleh menyebabkan kesesakan prestasi yang ketara. Pada platform Linux, pergantungannya pada /dev/random boleh mengakibatkan sekatan yang berpanjangan kerana sistem mengumpul entropi yang mencukupi. Untuk mengurangkan seretan prestasi ini, beberapa strategi boleh digunakan.
Menggunakan Alternatif /dev/urandom yang Lebih Pantas
Di Linux, pengguna boleh memanfaatkan yang kurang selamat tetapi ketara lebih pantas /dev/urandom sebagai alternatif kepada /dev/random. Ini boleh dicapai dengan menetapkan sifat sistem java.security.egd seperti berikut:
-Djava.security.egd=file:/dev/urandom
Penyelesaian untuk Java 5 dan Kemudian
Malangnya, kaedah ini tidak serasi dengan Java 5 dan versi seterusnya disebabkan oleh pepijat yang diketahui (Java Bug 6202721). Untuk mengelakkan isu ini, penyelesaian berikut boleh digunakan:
-Djava.security.egd=file:/dev/./urandom
(Perhatikan kemasukan tambahan /./)
Penyelesaian Ganti
Satu lagi penyelesaian berpotensi untuk teka-teki prestasi melibatkan penggunaan Matematik Luar Biasa, perpustakaan sumber terbuka yang menyediakan penjana nombor rawak berprestasi tinggi. Walaupun pelaksanaannya mungkin berbeza daripada SecureRandom, ia patut diterokai sebagai alternatif yang berdaya maju.
Kemajuan dalam JDK 6
Mengenai kebimbangan prestasi yang ditangani dalam JDK 6, maklumat yang bercanggah wujud. Sesetengah sumber menunjukkan bahawa isu ini telah diselesaikan, manakala yang lain mencadangkan sebaliknya. Penyelidikan lanjut mungkin diperlukan untuk memastikan status semasa dalam JDK 6.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meningkatkan Prestasi SecureRandom di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!