如何在Python中生成人性化的唯一ID?

iam*_*pal 14 python random unique uniqueidentifier

如何生成一个可以通过电话或电子邮件轻松传递的唯一ID值,这些值很容易记住,但仍然不容易猜到.

我正在使用数据库.但是当我向人们赠送ID时,我不希望它被绑定到数据库.我可以使用我在数据库中已有的唯一ID 做一些事情,但不能直接使用它,以避免它被猜测.

我正在使用Python并尝试过使用uuid,但是uuid 太长了,人类无法读取.

有没有办法创建一个人性化的可识别ID?

小智 12

你想要做的是将音节拼接在一起以创建可发音的伪词.您可以使用您喜欢的任何语言创建音节,以构成可以发音和传达的单词,但实际上并不意味着什么.

这篇文章是关于一个人如何创建人类可读的UID,用于发音和一些陷阱.

阅读上面的链接,了解采取这种方法时应该考虑的一些陷阱.

您可以使用一串字母字母,但将它们显示为北约语音字母而不仅仅是字母表.


rob*_*ert 0

这是一个基于 uuid 的示例。调整 1000000 以增加或减少 id 的范围。由于您正在缩小 id 的范围,因此您可能必须检查该 ID 是否已存在。

>>> import uuid
>>> hash(str(uuid.uuid1())) % 1000000
380539
>>> hash(str(uuid.uuid1())) % 1000000
411563
Run Code Online (Sandbox Code Playgroud)

  • 随机性与唯一性无关。 (2认同)