限制条件如下:
1 邀请码比较短,
2 速度要快
3 用户不能很容易的发现规律
方案1:用自增
条件一和二都可以满足,但条件三就不能满足。
方案2:用随机数去生成邀请码
条件1和3可以满足,但是因为要检测碰撞,所以条件2不能满足。
方案3:利用自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数。
比如存在int里,如果是4个字节,然后直接将它的十六进制格式的字符当作邀请码,可以生成8位的邀请码。
如果是8个字节,可以直接生成16位的邀请码,如果这个太长了,可以将其小端4个字节的内容转换成十六进制格式,这样也可以生成8位的邀请码,而且在一年多的时间里是不可能重复的。
原文:http://blog.csdn.net/hongchangfirst/article/details/27311055
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
时间: 2024-10-03 23:07:20