IdGeneratorUtil.java
835 Bytes
package com.infoloop.tianting.utils;
import java.security.SecureRandom;
import java.time.LocalDateTime;
public class IdGeneratorUtil {
private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
private static final SecureRandom RANDOM = new SecureRandom();
/**
* 生成ID
* @param prefix 前缀
* @param randomCharLength 随机字符长度
*/
public static String generateId(String prefix, int randomCharLength) {
final var timestamp = LocalDateTime.now().format(DateUtil.YMDHMSSSS);
final var sb = new StringBuilder();
sb.append(prefix);
sb.append(timestamp);
for (int i = 0; i < randomCharLength; i++) {
sb.append(CHARACTERS.charAt(RANDOM.nextInt(CHARACTERS.length())));
}
return sb.toString();
}
}