首页 > 解决方案 > 如何生成类似 apache 的唯一 ID?

问题描述

我想在我的 java 程序中模仿 mod_unique_id,所以我需要生成随机 ID,例如:

XpCR9wraCg0AABLBjI8AAAAh

是否有任何内置模块可以实现这一点?

标签: java

解决方案


也许一个好的起点是改变随机 UUID 的基数......

String uniqueID = new BigInteger(UUID.randomUUID().toString().replace("-",""), 16)
                      .toString(36) //change radix to 36
                      .toUpperCase()

36 作为基数,除了数字 0-9 之外,还使用了字母表中的所有字母。大小写在这里没有区别,所以我将结果大写(这是一个偏好)

示例值:

242H0VS3CSMQR3SS9FHLFKR07
BADXWCCZQ44DB4K8QCN67HF6J
CT3Z8R6JGYOLRKTQSFINWQQ8A

推荐阅读