生成唯一的客户参考号

时间:2018-07-02 19:56:29

标签: java

我正在开发自己的小型应用程序,该应用程序允许客户创建以UUID作为主键存储在数据库中的“作业”。但是,当通过UI显示作业时,与uuid相比,我希望作业ID短一些……类似于JOB-123456

只是想知道什么是生成这些人类可读参考编号的最佳方法,从而将发生碰撞的可能性降至最低?

2 个答案:

答案 0 :(得分:0)

听起来您想滚动自己的toString()方法,在这种情况下,您可以传入UUID并仅拉出每个字符的前6个字符。

答案 1 :(得分:-1)

您可以执行类似git缩短的哈希值的操作,并仅显示UUID的一部分。例如:

$git log --pretty=format:'%h'
0970e05
7122fc7
b535c42
aeefb7c
4b67b04

因此,如果您有4e6bcef6-c28b-4316-af72-c143925e0c18之类的UUID,则可能显示4e6b或0c18。与显示完整的UUID相比,以这种方式发生碰撞的可能性要高得多,但是如果它是一个足够小的应用程序,那么它的可能性仍然很小。