【Java学习-J.160430.0.16】笔记9-UUID生成

来源:互联网 发布:知乎怎么发帖子 编辑:程序博客网 时间:2024/04/28 13:47

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);    }
0 0
原创粉丝点击