亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? randomutils.java

?? 非常棒的java數據庫
?? JAVA
字號:
/*
 * Copyright 2004-2008 H2 Group. Licensed under the H2 License, Version 1.0
 * (http://h2database.com/html/license.html).
 * Initial Developer: H2 Group
 */
package org.h2.util;

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Random;

/**
 * Utility class that supports random and secure random functions. In some
 * systems SecureRandom initialization is very slow, a workaround is implemented
 * here.
 */
public class RandomUtils {

    private static SecureRandom secureRandom;
    private static Random random  = new Random();
    private static volatile boolean seeded;

    private static synchronized SecureRandom getSecureRandom() {
        if (secureRandom != null) {
            return secureRandom;
        }
        // Workaround for SecureRandom problem as described in
        // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6202721
        // Can not do that in a static initializer block, because
        // threads are not started after the initializer block exits
        try {
            secureRandom = SecureRandom.getInstance("SHA1PRNG");
            // On some systems, secureRandom.generateSeed() is very slow.
            // In this case it is initialized using our own seed implementation
            // and afterwards (in the thread) using the regular algorithm.
            Runnable runnable = new Runnable() {
                public void run() {
                    try {
                        SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
                        byte[] seed = sr.generateSeed(20);
                        synchronized (secureRandom) {
                            secureRandom.setSeed(seed);
                            seeded = true;
                        }
                    } catch (NoSuchAlgorithmException e) {
                        warn("SecureRandom", e);
                    }
                }
            };
            Thread t = new Thread(runnable);
            // let the process terminate even if generating the seed is really slow
            t.setDaemon(true);
            t.start();
            Thread.yield();
            try {
                // normally, generateSeed takes less than 200 ms
                t.join(400);
            } catch (InterruptedException e) {
                warn("InterruptedException", e);
            }
            if (!seeded) {
                byte[] seed = generateAlternativeSeed();
                // this never reduces randomness
                synchronized (secureRandom) {
                    secureRandom.setSeed(seed);
                }
            }
        } catch (NoSuchAlgorithmException e) {
            warn("SecureRandom", e);
            secureRandom = new SecureRandom();
        }
        return secureRandom;
    }

    private static byte[] generateAlternativeSeed() {
        try {
            ByteArrayOutputStream bout = new ByteArrayOutputStream();
            DataOutputStream out = new DataOutputStream(bout);

            // milliseconds
            out.writeLong(System.currentTimeMillis());

            // nanoseconds if available
            try {
                Method m = System.class.getMethod("nanoTime", new Class[0]);
                if (m != null) {
                    Object o = m.invoke(null, (java.lang.Object[]) null);
                    out.writeUTF(o.toString());
                }
            } catch (Exception e) {
                // nanoTime not found, this is ok (only exists for JDK 1.5 and higher)
            }

            // memory
            out.writeInt(new Object().hashCode());
            Runtime runtime = Runtime.getRuntime();
            out.writeLong(runtime.freeMemory());
            out.writeLong(runtime.maxMemory());
            out.writeLong(runtime.totalMemory());

            // environment
            try {
                out.writeUTF(System.getProperties().toString());
            } catch (Exception e) {
                warn("generateAlternativeSeed", e);
            }

            // host name and ip addresses (if any)
            try {
                String hostName = InetAddress.getLocalHost().getHostName();
                out.writeUTF(hostName);
                InetAddress[] list = InetAddress.getAllByName(hostName);
                for (int i = 0; i < list.length; i++) {
                    out.write(list[i].getAddress());
                }
            } catch (Exception e) {
                // on some system, InetAddress.getLocalHost() doesn't work
                // for some reason (incorrect configuration)
            }

            // timing (a second thread is already running)
            for (int j = 0; j < 16; j++) {
                int i = 0;
                long end = System.currentTimeMillis();
                while (end == System.currentTimeMillis()) {
                    i++;
                }
                out.writeInt(i);
            }

            out.close();
            return bout.toByteArray();
        } catch (IOException e) {
            warn("generateAlternativeSeed", e);
            return new byte[1];
        }
    }

    public static long getSecureLong() {
        SecureRandom sr = getSecureRandom();
        synchronized (sr) {
            return sr.nextLong();
        }
    }

    public static byte[] getSecureBytes(int len) {
        if (len <= 0) {
            len = 1;
        }
        byte[] buff = new byte[len];
        SecureRandom sr = getSecureRandom();
        synchronized (sr) {
            sr.nextBytes(buff);
        }
        return buff;
    }

    public static int nextInt(int max) {
        return random.nextInt(max);
    }

    private static void warn(String s, Throwable t) {
        // not a fatal problem, but maybe reduced security
        System.out.println("RandomUtils warning: " + s);
        if (t != null) {
            t.printStackTrace();
        }
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人一区二区艾草 | 精品国产乱码久久久久久免费 | 不卡av在线网| 色88888久久久久久影院按摩| 欧美日韩一区三区四区| 日韩欧美精品三级| 国产精品高潮呻吟| 91小视频在线免费看| 欧美一区国产二区| 中文字幕一区二区三区在线不卡| 青青草国产成人99久久| jiyouzz国产精品久久| 精品成人私密视频| 国产大片一区二区| 日韩女优av电影在线观看| 极品少妇一区二区三区精品视频 | 亚洲美女区一区| 黄页网站大全一区二区| 欧美美女一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲成人你懂的| 不卡视频在线观看| 一区二区三区国产精品| 99视频精品在线| 午夜伊人狠狠久久| 久久一二三国产| 老司机免费视频一区二区| 在线播放中文一区| 国产精品白丝jk黑袜喷水| 精品国产一二三| 成人av网站免费观看| 亚洲综合免费观看高清完整版| 色94色欧美sute亚洲13| 秋霞午夜鲁丝一区二区老狼| 中文字幕电影一区| 国产.精品.日韩.另类.中文.在线.播放 | 欧美高清性hdvideosex| 国产白丝精品91爽爽久久| 亚洲在线一区二区三区| 欧美精品一区二区三区在线| 色婷婷av一区| 亚洲精品国产一区二区精华液| 91婷婷韩国欧美一区二区| 免费在线一区观看| 亚洲黄网站在线观看| 精品国产3级a| 欧美视频中文一区二区三区在线观看| 一区二区三区免费| 国产亚洲精品精华液| 国产精品18久久久久久久久久久久 | 7777精品伊人久久久大香线蕉超级流畅| 伊人开心综合网| 精品国产一区二区三区久久久蜜月 | 精品夜夜嗨av一区二区三区| 亚洲一区在线电影| 中文字幕一区二区在线观看| 日本一区二区综合亚洲| 国产精品卡一卡二卡三| 欧美日韩国产中文| 丝袜亚洲另类欧美综合| 精品日韩成人av| 国模冰冰炮一区二区| 亚洲丶国产丶欧美一区二区三区| 中文天堂在线一区| 91黄色激情网站| 成人精品电影在线观看| 久久99在线观看| 日本色综合中文字幕| 久久精品视频在线免费观看| 91麻豆精品国产91久久久使用方法| 色婷婷综合在线| 成人黄色综合网站| 国产成人av影院| 国内成+人亚洲+欧美+综合在线 | 欧美aaa在线| 亚洲成人一区二区在线观看| 18成人在线视频| 中文字幕二三区不卡| 久久久蜜桃精品| 97se狠狠狠综合亚洲狠狠| 午夜一区二区三区在线观看| 欧美日韩另类国产亚洲欧美一级| 色哟哟亚洲精品| 一本久道久久综合中文字幕| 97久久精品人人做人人爽50路| 国产91在线观看| 岛国精品一区二区| 丝袜美腿亚洲综合| 日本亚洲天堂网| 欧美aaa在线| 狠狠色伊人亚洲综合成人| 经典三级在线一区| 国产高清亚洲一区| 国产精品综合二区| 成人黄色小视频| 色综合av在线| 在线看不卡av| 国产ts人妖一区二区| 波多野结衣亚洲一区| 99re这里只有精品首页| 欧美精品久久久久久久多人混战| 亚洲一级片在线观看| 亚洲另类春色国产| 一区二区三区日韩欧美精品| 亚洲老司机在线| 亚洲成人资源网| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美电影免费观看高清完整版在 | aaa国产一区| 日本乱人伦一区| 88在线观看91蜜桃国自产| 日韩欧美在线网站| 欧洲一区在线观看| 91麻豆精品国产91久久久久久久久 | 日韩高清不卡一区二区三区| 久久99精品久久久| 99麻豆久久久国产精品免费 | 国产99精品在线观看| 91在线观看一区二区| 欧美三级电影在线看| 精品理论电影在线| 中文字幕一区二区三区在线播放 | 欧美亚日韩国产aⅴ精品中极品| 7799精品视频| 国产精品嫩草99a| 午夜欧美2019年伦理| 国产成人午夜视频| 欧美伊人久久大香线蕉综合69| 日韩精品一区二区三区蜜臀 | 日韩丝袜美女视频| 亚洲欧洲另类国产综合| 蜜桃视频在线观看一区二区| 99九九99九九九视频精品| 制服.丝袜.亚洲.另类.中文| 国产精品女人毛片| 美脚の诱脚舐め脚责91| www.欧美.com| 日韩欧美精品在线| 国产亚洲精品aa| 久久久久久久久久久久久久久99| 亚洲人成影院在线观看| 精品一区免费av| 欧美在线影院一区二区| 日本一区二区视频在线| 麻豆91精品91久久久的内涵| 在线亚洲欧美专区二区| 国产日韩影视精品| 另类小说综合欧美亚洲| 欧美日韩一级视频| 日韩理论片中文av| 国产成人免费视频一区| 精品国产麻豆免费人成网站| 午夜精品久久久久久不卡8050| 不卡视频一二三四| 26uuu色噜噜精品一区二区| 亚洲二区在线观看| 国产日韩精品一区| 性感美女久久精品| 99久久精品费精品国产一区二区| 精品三级在线观看| 亚洲第一搞黄网站| 91亚洲精品一区二区乱码| 26uuu成人网一区二区三区| 婷婷开心激情综合| 91久久精品国产91性色tv| 国产欧美日韩麻豆91| 免费一级欧美片在线观看| 欧美精品久久久久久久多人混战 | 88在线观看91蜜桃国自产| 中文字幕一区二区三区不卡在线| 精品一区二区三区在线播放| 日韩欧美成人一区| 日本色综合中文字幕| 欧美三级电影网站| 亚洲精品免费播放| 欧美在线视频日韩| 一区二区三区欧美亚洲| 99国产一区二区三精品乱码| 综合久久国产九一剧情麻豆| 国产高清精品在线| 久久精品在线免费观看| 久久成人18免费观看| 精品一区二区在线免费观看| 欧美一卡二卡在线| 亚洲国产精品久久不卡毛片| 99re6这里只有精品视频在线观看| 国产日韩欧美精品在线| 国产成人精品亚洲午夜麻豆| 精品成人在线观看| 麻豆高清免费国产一区| 久久久久国产精品麻豆| 国产原创一区二区| 日韩极品在线观看| 欧美日韩免费观看一区二区三区| 国产精品对白交换视频| 波多野结衣一区二区三区| 综合久久久久久久| 91视视频在线观看入口直接观看www| 一卡二卡三卡日韩欧美| 欧美偷拍一区二区|