package com.weixiu.zxt.utils;
import java.security.SecureRandom;
import java.util.Calendar;
import java.util.Date;
import java.util.UUID;
/**
* @Author: 张学涛
* @Date: 2019-08-15 08:54
* @Version 1.0
* @描述: 随机四位uuid
*/
public class UUIDGenrateUtil {
public static String[] chars = new String[] { "0", "1", "2", "3", "4", "5", "6", "7",
"8", "9" };
public synchronized static String generateShortUuid() {
StringBuffer shortBuffer = new StringBuffer();
String uuid = getUniqueOrder();
for (int i = 0; i < 5; i++) {
String str = uuid.substring(i * 5, i * 5 + 5);
int x = Integer.parseInt(str, 16);
shortBuffer.append(chars[x % 0x3E]);
}
return shortBuffer.toString();
}
/**
* 获得唯一订单号
*/
public static String getUniqueOrder() {
int hashCodeV = Math.abs( UUID.randomUUID().toString().hashCode());
long timeInMillis = Calendar.getInstance().getTimeInMillis();
String format = String.format("%032d", hashCodeV);
String uuid="0"+timeInMillis+format;
return uuid;
}
private static final SecureRandom secureRandom = new SecureRandom();//获取随机数
private static final String SYMBOLS = "0123456789"; // 数字
/**
* 获取N位随机数
* @return
*/
public static String getRandom(Integer n){
String randomNum = "";
char[] nonceChars = new char[n];
for (int index = 0; index < nonceChars.length; ++index) {
nonceChars[index] = SYMBOLS.charAt(secureRandom.nextInt(SYMBOLS.length()));
}
randomNum = new String(nonceChars);
return "0"+Calendar.getInstance().getTimeInMillis()+randomNum;
}
}