1
a591826944 2014 年 5 月 20 日
保证不发生碰撞?。。。怎么可能
|
2
tabris17 OP @a591826944 我从小空间映射到大空间,不发生碰撞是可以的吧
|
3
loading 2014 年 5 月 20 日 via Android
uuid
|
4
tabris17 OP uuid如果用数字表示实在是太长了
|
5
loading 2014 年 5 月 20 日 via Android
你这个id会有几个程序生成?如果是可控的,前面加个前缀不就好了?
|
9
tabris17 OP 这么说吧,就是为了防止别人从ID来判断当前的最大记录,或者通过ID来枚举所有信息
|
10
xhacker 2014 年 5 月 20 日 |
12
wdd2007 2014 年 5 月 20 日
md5
|
13
kamal 2014 年 5 月 20 日
关注一下,同样有这个需求
|
15
akira 2014 年 5 月 20 日
自增id后面加个随机数
|
18
tabris17 OP 或者把自增ID的每位数字打散后插入随机数字符串里?
|
20
crab 2014 年 5 月 20 日
当ID超过5位数呢?
|
21
loading 2014 年 5 月 20 日 via Android
#矫情
|
24
tabris17 OP 最后决定随机数+碰撞处理,就这样吧
|
25
feikeq 2014 年 5 月 20 日
你可以试试用时间戳....
|
28
guoruei 2014 年 5 月 20 日
时间戳+自定义ID,再来个按队列处理,妥妥的。
|
29
ganxiyun 2014 年 5 月 20 日
RC2 64bits输出
|
31
ritksm 2014 年 5 月 20 日 |
34
aisk 2014 年 5 月 20 日 skip32
|
35
lu18887 2014 年 5 月 20 日
只有时间是唯一的!过了这一刻就不会再来了!所以,好好利用时间来避开碰撞。另外,随机的度不控制好就容易出现碰撞!每一个时间都是平行时空!
|
36
lu18887 2014 年 5 月 20 日
时间+自增ID+不可逆算法
|
38
clippit 2014 年 5 月 20 日
数字长一点没关系,加到 URL 里可以把它转换成36进制(a-z0-9)甚至62进制(A-Za-z0-9),这样就短了
|
39
aisk 2014 年 5 月 20 日
@tabris17 http://meizhi.im/ 现在数据库还是存的自增,显示出来的是skip32+base36,应该和你的需求一致
|
40
banxi1988 2014 年 5 月 21 日
找一个在第一象限单调递增的函数。把现在人id看成X
Y=func(x),这样的Y就是你要的新的id. |
43
hedaode 2014 年 5 月 21 日
可以把id简单加密(对称)下,这样既能保证id无明显规律,又能保持唯一性。例如:
id=htonl(id);//颠倒字节顺序 id=id^0x3f91b217;//异或加密,密码自定义 |