1. 程式人生 > >【Java學習-J.160430.0.16】筆記9-UUID生成

【Java學習-J.160430.0.16】筆記9-UUID生成

UUID生成

public class RandomUUID {

    /*
     * A-Z a-z 0-9
     */
    static String[] chars = new String[62];
    public static String[] createArray(){
        int j = 0;
        for (int i = 0; i < chars.length; i++) {
            if(i < 26){
                chars[i] = (char)('A' + j) + "";
                j++;
                if
(j>=26){ j=0; } }else if(i>=26 && i < 52){ chars[i] = (char)('a' + j) + ""; j++; if(j>=26) j=0; }else{ chars[i] = (char)('0' + j) + ""; j++; } } return
chars; } /** * * @param uuid 是要傳遞進來的UUID * @param size 幾個驗證碼 * @return */ public static String getRandomUUID(String uuid,int size){ //replace : 替換 String uuid2 = uuid.replace("-", ""); String validate = ""; for (int i = 0; i < size; i++) { //substring : 擷取
String str = uuid2.substring(i*4, i*4+4); //根據16進位制轉換成一個整數 int x = Integer.parseInt(str, 16); //從 validate += chars[x % chars.length]; } return validate; } public static void main(String[] args) { chars = createArray(); String uuid = UUID.randomUUID().toString(); //System.out.println(uuid); String s = "2a28d704917c40b08e6cfc6e37beaf9f"; //System.out.println(s.substring(4, 8));//2a28 ,d704 int x = Integer.parseInt("1a",16); //System.out.println(s.length() / 4); String validate = getRandomUUID(uuid, 5); System.out.println(validate); }