我正在开发自己的小型应用程序,该应用程序允许客户创建以UUID作为主键存储在数据库中的“作业”。但是,当通过UI显示作业时,与uuid相比,我希望作业ID短一些……类似于JOB-123456
只是想知道什么是生成这些人类可读参考编号的最佳方法,从而将发生碰撞的可能性降至最低?
答案 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相比,以这种方式发生碰撞的可能性要高得多,但是如果它是一个足够小的应用程序,那么它的可能性仍然很小。