package com.estate.expert.admin.utils; import java.security.SecureRandom; import java.util.Random; import java.util.UUID; /** * UUID生成器 */ public class UUIDGenerator { private static final String CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; private static final SecureRandom RANDOM = new SecureRandom(); public static String generate6Uuid() { StringBuilder sb = new StringBuilder(8); for (int i = 0; i < 8; i++) { int randomIndex = RANDOM.nextInt(CHARACTERS.length()); char randomChar = CHARACTERS.charAt(randomIndex); sb.append(randomChar); } return sb.toString(); } public static String generate32Uuid() { String uuid = UUID.randomUUID().toString().replace("-", ""); char[] uuidArray = uuid.toCharArray(); Random random = new Random(); int count = 0; int[] lowerCaseIndexes = new int[32]; int lowerCaseCount = 0; for (int i = 0; i < uuidArray.length; i++) { if (Character.isLowerCase(uuidArray[i])) { lowerCaseIndexes[lowerCaseCount] = i; lowerCaseCount++; } } if (lowerCaseCount <= 5) { for (int i = 0; i < lowerCaseCount; i++) { int index = lowerCaseIndexes[i]; uuidArray[index] = Character.toUpperCase(uuidArray[index]); } } else { while (count < 5) { int index = random.nextInt(lowerCaseCount); int i = lowerCaseIndexes[index]; uuidArray[i] = Character.toUpperCase(uuidArray[i]); count++; } } uuid = new String(uuidArray); return uuid; } }