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