为了账号安全,请及时绑定邮箱和手机立即绑定

如何设计生成用户uid?

如何设计生成用户uid?

汪汪一只猫 2019-01-17 03:30:03
(手机版没法上传图片,今晚回去补一下) 一般uid如上图是一串固定长度数字,请问是如何生成的?在数据库存储uid的时候,一般不都是从1开始然后自增长的吗?如何实现这种固定长度的id?现在自己有一种思路不知道对不对:在数据库中从1开始自增长uid,然后会出现id为1和21这种位数不同的情况,显示的时候,通过一定的加密算法将不固定长度的uid加密成固定长度uid进行显示吗?
查看完整描述

5 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

import uuid
uid = uuid.uuid1()
查看完整回答
反对 回复 2019-03-01
?
森林海

TA贡献2011条经验 获得超2个赞

固定长度很好办:

>>> '%012d'%1
'000000000001'
>>> '%012d'%21
'000000000021'
>>> '%012d'%21222
'000000021222'
>>>

或者存数据库时:

>>> import uuid
>>> uuid.uuid4() # 随机生成一个 uuid
UUID('01ff74a3-e22f-4eaa-b268-b040c13e2313')
>>> str(_)
'01ff74a3-e22f-4eaa-b268-b040c13e2313'
>>>
查看完整回答
反对 回复 2019-03-01
?
弑天下

TA贡献1818条经验 获得超8个赞

了解下雪花算法。

查看完整回答
反对 回复 2019-03-01
?
慕后森

TA贡献1802条经验 获得超5个赞

了解下 hashids

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 1945 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信