jvm上的随机数与熵_向您的JVM添加一些熵
生活随笔
收集整理的這篇文章主要介紹了
jvm上的随机数与熵_向您的JVM添加一些熵
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
jvm上的隨機數與熵
能否生成真正的隨機數取決于系統中的熵。 有人聲稱,這可以通過擲骰子來保證。 其他人認為,用此主體替換OpenJDK的java.math.Random.nextInt()方法將有所幫助:
- 資料來源: http : //www.redcode.nl/blog/2013/10/openjdk-and-xkcd-random-number/ 。
但這是荒謬的。 我們都知道,向JVM添加真實熵的最佳方法是在JVM啟動時重寫java.lang.Integer.IntegerCache 。 這是代碼:
import java.lang.reflect.Field; import java.util.Random;public class Entropy {public static void main(String[] args) throws Exception {// Extract the IntegerCache through reflectionClass<?> clazz = Class.forName("java.lang.Integer$IntegerCache");Field field = clazz.getDeclaredField("cache");field.setAccessible(true);Integer[] cache = (Integer[]) field.get(clazz);// Rewrite the Integer cachefor (int i = 0; i < cache.length; i++) {cache[i] = new Integer(new Random().nextInt(cache.length));}// Prove randomnessfor (int i = 0; i < 10; i++) {System.out.println((Integer) i);}} }我上次嘗試時,上面印有
92 221 45 48 236 183 39 193 33 84不相信嗎? 在您的應用程序上嘗試一下! 通過在您的應用程序上嘗試此操作,即表示您同意以下許可條款 :
除非適用法律要求或以書面形式同意,否則根據“許可”分發的軟件將按“原樣”分發,而沒有任何明示或暗示的保證或條件。
參考:在JAVA,SQL和JOOQ博客上,我們的JCG合作伙伴 Lukas Eder 向您的JVM添加了一些熵 。翻譯自: https://www.javacodegeeks.com/2013/10/add-some-entropy-to-your-jvm.html
jvm上的隨機數與熵
總結
以上是生活随笔為你收集整理的jvm上的随机数与熵_向您的JVM添加一些熵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 忘记EXCEL表格密码怎么办excel表
- 下一篇: 吉田直树:未来将从画面着手,持续改进网游