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

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

?? randomstrg.java

?? jive 論壇所有的java源碼
?? JAVA
字號:
package com.jivesoftware.util;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

import java.util.*;
import java.security.SecureRandom;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;

/**
 * tool of random string creator, for password or session id
 *     RandomStrg rstr=new RandomStrg();
 *     rstr.setCharset("a-zA-Z0-9");
 *          rstr.setLength(32);
 *          rstr.generateRandomObject();
 *           String randstr=rstr.getRandom();
 * @author Sunny Peng
 */
public class RandomStrg {

    private Integer length = new Integer(8);
    public void setLength(int count){ length =new Integer(count);}

    private String randomstr;
    private boolean allchars = false;

    private HashMap hmap;
    private ArrayList lower = null;
    private ArrayList upper = null;
    private char[] single = null;
    private int singlecount = 0;
    private boolean singles = false;
    private String algorithm = null;
    private String provider = null;
    private boolean secure = false;
    private Random random = null;
    private SecureRandom secrandom = null;

    private final float getFloat() {
        if (random == null)
            return secrandom.nextFloat();
        else
            return random.nextFloat();
    }

    /**
     * generate the Random object that will be used for this random number
     * generator
     *
     */
    public final void generateRandomObject() throws Exception {

        // check to see if the object is a SecureRandom object
        if (secure) {
            try {
                // get an instance of a SecureRandom object
                if (provider != null)
                    // search for algorithm in package provider
                    random = SecureRandom.getInstance(algorithm, provider);
                else
                    random = SecureRandom.getInstance(algorithm);
            } catch (NoSuchAlgorithmException ne) {
                throw new Exception(ne.getMessage());
            } catch (NoSuchProviderException pe) {
                throw new Exception(pe.getMessage());
            }
        } else
            random = new Random();
    }

    /**
     * generate the random string
     *
     */
    private final void generaterandom() {

        if (allchars)
            for (int i = 0; i < length.intValue(); i++)
                randomstr = randomstr + new Character((char)((int) 34 +
                                     ((int)(getFloat() * 93)))).toString();
        else if (singles) {
            // check if there are single chars to be included

            if (upper.size() == 3) {
                // check for the number of ranges max 3 uppercase lowercase digits

                // build the random string
                for (int i = 0; i < length.intValue(); i++) {
                    // you have four groups to choose a random number from, to make
                    // the choice a little more random select a number out of 100

                    // get a random number even or odd
                    if (((int) (getFloat() * 100)) % 2 == 0) {

                        // the number was even get another number even or odd
                        if (((int) (getFloat() * 100)) % 2 == 0)
                            // choose a random char from the single char group
                            randomstr = randomstr + randomSingle().toString();
                        else
                            // get a random char from the first range
                            randomstr = randomstr + randomChar((Character)lower.get(2),
                                                (Character)upper.get(2)).toString();
                    } else {
                        // the number was odd

                        if (((int) (getFloat() * 100)) % 2 == 0)
                            // choose a random char from the second range
                            randomstr = randomstr + randomChar((Character)lower.get(1),
                                               (Character)upper.get(1)).toString();
                        else
                            // choose a random char from the third range
                            randomstr = randomstr + randomChar((Character)lower.get(0),
                                               (Character)upper.get(0)).toString();
                    }
                }
            } else if (upper.size() == 2) {
                // single chars are to be included choose a random char from
                // two different ranges

                // build the random char from single chars and two ranges
                for (int i = 0; i < length.intValue(); i++) {
                    // select the single chars or a range to get each random char
                    // from

                    if (((int)(getFloat() * 100)) % 2 == 0) {

                        // get random char from the single chars
                        randomstr = randomstr + randomSingle().toString();
                    } else if (((int) (getFloat() * 100)) % 2 == 0) {

                        // get the random char from the first range
                        randomstr = randomstr + randomChar((Character)lower.get(1),
                                               (Character)upper.get(1)).toString();
                    } else {

                        // get the random char from the second range
                        randomstr = randomstr + randomChar((Character)lower.get(0),
                                               (Character)upper.get(0)).toString();
                    }
                }
            } else if (upper.size() == 1) {

                // build the random string from single chars and one range
                for (int i = 0; i < length.intValue(); i++) {
                    if (((int) getFloat() * 100) % 2 == 0)
                        // get a random single char
                        randomstr = randomstr + randomSingle().toString();
                    else
                        // get a random char from the range
                        randomstr = randomstr + randomChar((Character)lower.get(0),
                                               (Character)upper.get(0)).toString();
                }
            } else {
                // build the rand string from single chars
                for (int i = 0; i < length.intValue(); i++)
                    randomstr = randomstr + randomSingle().toString();
            }
        } else {

            // no single chars are to be included in the random string
            if (upper.size() == 3) {

                // build random strng from three ranges
                for (int i = 0; i < length.intValue(); i++) {

                    if (((int) (getFloat() * 100)) % 2 == 0) {

                        // get random char from first range
                        randomstr = randomstr + randomChar((Character)lower.get(2),
                                               (Character)upper.get(2)).toString();
                    } else if (((int) (getFloat() * 100)) % 2 == 0) {

                        // get random char form second range
                        randomstr = randomstr + randomChar((Character)lower.get(1),
                                               (Character)upper.get(1)).toString();
                    } else {

                        // get random char from third range
                        randomstr = randomstr + randomChar((Character)lower.get(0),
                                               (Character)upper.get(0)).toString();
                    }
                }
            } else if (upper.size() == 2) {

                // build random string from two ranges
                for (int i = 0; i < length.intValue(); i++) {
                    if (((int) (getFloat() * 100)) % 2 == 0)
                        // get random char from first range
                        randomstr = randomstr + randomChar((Character)lower.get(1),
                                               (Character)upper.get(1)).toString();
                    else
                        // get random char from second range
                        randomstr = randomstr + randomChar((Character)lower.get(0),
                                             (Character)upper.get(0)).toString();
                }
            } else

                // build random string
                for (int i = 0; i < length.intValue(); i++)
                    // get random char from only range
                    randomstr = randomstr + randomChar((Character)lower.get(0),
                                               (Character)upper.get(0)).toString();
        }
    }

    /**
     * generate a random char from the single char list
     *
     * @returns - a randomly selscted character from the single char list
     *
     */
    private final Character randomSingle() {

        return (new Character(single[(int)((getFloat() * singlecount) - 1)]));
    }

    /**
     * generate a random character
     *
     * @param lower  lower bound from which to get a random char
     * @param upper  upper bound from which to get a random char
     *
     * @returns - a randomly generated character
     *
     */
    private final Character randomChar(Character lower, Character upper) {
        int tempval;
        char low = lower.charValue();
        char up = upper.charValue();

        // get a random number in the range lowlow - lowup
        tempval = (int)((int)low + (getFloat() * ((int)(up - low))));

        // return the random char
        return (new Character((char) tempval));
    }

    /**
     * get the randomly created string for use with the
     * &lt;jsp:getProperty name=<i>"id"</i> property="randomstr"/&gt;
     *
     * @return - randomly created string
     *
     */
    public final String getRandom() {

        randomstr = new String();

        generaterandom(); // generate the first random string

        if (hmap != null) {

            while (hmap.containsKey(randomstr)) {
                // random string has already been created generate a different one
                generaterandom();
            }

            hmap.put(randomstr, null);  // add the new random string
        }

        return randomstr;
    }

    /**
     * set the ranges from which to choose the characters for the random string
     *
     * @param low  set of lower ranges
     * @param up  set of upper ranges
     *
     */
    public final void setRanges(ArrayList low, ArrayList up) {
        lower = low;
        upper = up;
    }


    /**
     * set the hashmap that is used to check the uniqueness of random strings
     *
     * @param map  hashmap whose keys are used to insure uniqueness of random strgs
     *
     */
    public final void setHmap(HashMap map) {
        hmap = map;
    }

    /**
     * set the length of the random string
     *
     * @param value  length of the random string
     *
     */
    public final void setLength(String value) {
            length = new Integer(value);

    }

    /**
     * set the algorithm name
     *
     * @param value  name of the algorithm to use for a SecureRandom object
     *
     */
    public final void setAlgorithm(String value) {
        algorithm = value;
        secure = true;  // a SecureRandom object is to be used
    }

    /**
     * set the provider name
     *
     * @param value  name of the package to check for the algorithm
     *
     */
    public final void setProvider(String value) {
        provider = value;
    }

    /**
     * set the allchars flag
     *
     * @param value  boolean value of the allchars flag
     *
     */
    public final void setAllchars(boolean value) {
        allchars = value;
    }

    /**
     * set the array of single chars to choose from for this random string and the
     * number of chars in the array
     *
     * @param chars  the array of single chars
     * @param value  the number of single chars
     *
     */
    public final void setSingle(char[] chars, int value) {
        single = chars;  // set the array of chars
        singlecount = value;  // set the number of chars in array single
        singles = true;  // set flag that single chars are in use
    }

    public final void setCharset(String value)
    {
           // values tells the method whether or not to check for single chars
           boolean more = true;

           // create the arraylists to hold the upper and lower bounds for the char
          // ranges
          lower = new ArrayList(3);
          upper = new ArrayList(3);

          // user has chosen to use all possible characters in the random string
          if (value.compareTo("all") == 0) {
            allchars = true;  // set allchars flag
            // all chars are to be used so there are no single chars to sort
            // through
            more = false;
          }else if ((value.charAt(1) == '-') && (value.charAt(0) != '\\')) {
            // run through the ranges at most 3
            while (more && (value.charAt(1) == '-')){

                    // check to make sure that the dash is not the single char
                       if (value.charAt(0) == '\\')
                           break;
                      else {
                        // add upper and lower ranges to there list
                        lower.add(new Character(value.charAt(0)));
                        upper.add(new Character(value.charAt(2)));
                    }

                    // check to see if there is more to the charset
                    if (value.length() <= 3)
                          more = false;
                    else
                          // create a new string so that the next range if there is one
                       // starts it
                       value = value.substring(3);
             }
        }

        // if more = false there are no single chars in the charset
        if (more) {

            single = new char[30];  // create single

            // create a set of tokens from the string of single chars
            StringTokenizer tokens = new StringTokenizer(value);

            while (tokens.hasMoreTokens()) {
                // get the next token from the string
                String token = tokens.nextToken();

                if (token.length() > 1)
                    // char is a - add it to the list
                    single[singlecount++] = '-';

                // add the current char to the list
                single[singlecount++] = token.charAt(0);
            }
        }
    if ((lower == null) && (single == null))
            setCharset("a-zA-Z0-9");
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品蜜桃视频网站| 日本欧美大码aⅴ在线播放| 亚洲激情欧美激情| 韩国精品免费视频| 在线观看av一区| 久久久久久久免费视频了| 一二三区精品视频| 国产精品99久久久久久宅男| 欧美日韩一级二级| 中文字幕五月欧美| 国产成+人+日韩+欧美+亚洲| 欧美一区二区黄| 亚洲午夜免费电影| 99久久精品国产毛片| 久久久蜜桃精品| 久久精品国产999大香线蕉| 欧美日韩1区2区| 一个色在线综合| 色噜噜狠狠色综合欧洲selulu| 精品国产一区二区三区av性色| 亚洲成人av在线电影| 91亚洲国产成人精品一区二三| 久久精品免视看| 韩国一区二区在线观看| 日韩限制级电影在线观看| 亚洲午夜影视影院在线观看| 91视视频在线直接观看在线看网页在线看| 久久日韩粉嫩一区二区三区| 国内精品视频666| 精品成人一区二区三区四区| 久久99国产精品久久| 精品卡一卡二卡三卡四在线| 日本不卡123| 91精品欧美综合在线观看最新| 午夜精品免费在线观看| 欧美日韩在线播放三区| 亚洲国产精品影院| 欧美日本在线看| 视频一区二区三区中文字幕| 7777精品伊人久久久大香线蕉| 天堂蜜桃91精品| 日韩亚洲欧美中文三级| 国产一区二区三区四区在线观看 | 国产成人午夜高潮毛片| 久久久精品国产99久久精品芒果| 国产成人综合在线播放| 国产精品久久久久aaaa| 一本一本久久a久久精品综合麻豆| 久久久不卡网国产精品一区| 丰满白嫩尤物一区二区| 国产精品国产三级国产普通话三级| 粉嫩在线一区二区三区视频| 自拍偷自拍亚洲精品播放| 欧洲一区二区av| 日韩精品电影在线| 久久免费美女视频| av成人免费在线观看| 亚洲丰满少妇videoshd| 日韩欧美电影一区| 99久久精品国产导航| 午夜精品爽啪视频| 精品福利一区二区三区免费视频| 国产美女一区二区| 亚洲欧美乱综合| 6080日韩午夜伦伦午夜伦| 国产一区二区在线影院| 亚洲欧美日韩中文播放| 欧美一区二区三区四区在线观看 | 日韩美女视频一区| 欧美日韩第一区日日骚| 国产99一区视频免费| 一区二区三区视频在线看| 日韩一区二区免费在线观看| 成人午夜av电影| 亚洲成人免费在线观看| 欧美激情综合五月色丁香小说| 日本韩国视频一区二区| 狠狠色狠狠色综合日日91app| 国产一区二区伦理| 亚洲一区二区精品视频| 国产视频不卡一区| 制服丝袜中文字幕一区| 成人午夜电影久久影院| 男人的天堂亚洲一区| 中文字幕日韩一区二区| 精品三级av在线| 欧美男人的天堂一二区| fc2成人免费人成在线观看播放 | 欧美精选一区二区| 国产99久久久国产精品| 日韩激情视频网站| 亚洲色图丝袜美腿| 久久久久成人黄色影片| 欧美一卡二卡三卡| 亚洲观看高清完整版在线观看 | 久久久精品蜜桃| 色成人在线视频| 精品伊人久久久久7777人| 亚洲一区成人在线| 中文字幕亚洲区| 国产三级一区二区| 精品成人免费观看| 51精品秘密在线观看| 欧美午夜电影一区| 一本色道a无线码一区v| 99久久综合国产精品| 成人午夜大片免费观看| 国产福利一区二区三区视频在线| 麻豆精品新av中文字幕| 蜜臀精品久久久久久蜜臀| 偷偷要91色婷婷| 亚洲成人免费av| 亚洲电影第三页| 成人中文字幕电影| 国产精品一区二区三区四区| 国内久久精品视频| 一区二区三区欧美日| 亚洲天堂免费在线观看视频| 精品久久久久久久久久久久久久久 | 国产激情视频一区二区三区欧美 | 国产精品国产成人国产三级| 久久久影视传媒| 欧美哺乳videos| 精品国产免费视频| 久久久久国产一区二区三区四区| 日韩免费观看高清完整版| 这里是久久伊人| 日韩午夜激情免费电影| 国产色产综合色产在线视频| 欧美一区二区黄色| 91麻豆国产福利在线观看| 欧美日韩国产天堂| 7777女厕盗摄久久久| 欧美精品xxxxbbbb| 欧美zozozo| 国产精品情趣视频| 一区二区三区在线视频观看58| 亚洲精品欧美在线| 日韩国产精品久久久久久亚洲| 日韩1区2区3区| 久久国产福利国产秒拍| 国产成人av电影在线观看| 波波电影院一区二区三区| 在线观看精品一区| 精品欧美一区二区久久| 国产精品欧美一区喷水| 舔着乳尖日韩一区| 国产成人精品1024| 欧美色倩网站大全免费| 久久久久久久一区| 一区二区三区精品在线| 免费在线观看视频一区| 国产69精品久久久久毛片| 欧美日韩精品一区二区天天拍小说| 欧美日韩精品一二三区| 国产欧美一区视频| 一区二区三区在线观看视频| 日韩成人精品在线| 成人黄色在线看| 91精品婷婷国产综合久久竹菊| 欧美国产精品专区| 日本不卡一区二区| 99精品视频一区| 日韩欧美在线观看一区二区三区| 中文字幕一区二区三中文字幕| 日本亚洲最大的色成网站www| 成人h动漫精品| 欧美mv日韩mv国产网站| 亚洲一区二区欧美日韩 | 国产精品久久久久天堂| 日韩精品成人一区二区在线| 99re在线精品| 久久日一线二线三线suv| 日韩电影免费一区| 色国产精品一区在线观看| 欧美国产禁国产网站cc| 蜜臀av一区二区在线观看| 欧美日韩日日摸| 亚洲靠逼com| 波多野结衣在线aⅴ中文字幕不卡| 欧美sm极限捆绑bd| 奇米精品一区二区三区在线观看一 | 国产精品久久久久久久久免费相片| 日韩精品免费专区| thepron国产精品| 蜜臀久久99精品久久久画质超高清| 成人h动漫精品一区二区| 国产经典欧美精品| 亚洲自拍偷拍麻豆| 91论坛在线播放| 亚洲一区二区黄色| 日韩欧美一级二级| 国产91精品一区二区麻豆网站| 国产色91在线| 成人免费看视频| 亚洲乱码国产乱码精品精可以看| 色综合久久久久久久久| 午夜在线电影亚洲一区| 中文字幕不卡三区| 亚洲欧洲美洲综合色网|