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; } }