我听说过 有:
1.时间戳+会员ID
2.时间戳+(0-9的随机数)+再加1
3.时间戳+(0-999的随机数)
到底是怎么设计比较安全规范的呢?
个人觉得,还是应该有时间戳+用户ID+随机数比较好,如果没有随机数,订单号被猜到的可能性比较大,而如果没有用户ID只有随机数,在订单量较大的情况下需要较长的随机数位数才能保证唯一性,这样生成随机数的效率可能会稍稍受一点影响,总之,生成订单号没有唯一的规则,还是要根据你的实际情况,在保证随机和唯一的原则下来制定。
时间戳(yyyyMMddHHmmss)+会员id 或 随机数
这个格式不用特别讲究吧
只要具备唯一性、随机性和一定的长度
就算是比较安全规范的了
看你的并发量有多大,比如说你的订单并发量不是特别多,可以用时间戳+20180124142113(这种时间)+五位数的随机数;
如果你的瞬时并发量好几个亿啊=.=,店铺数字id(数字的那种,单位不足补零)+时间戳+随机数,也可以呀
建议使用时间戳+会员id+店铺id+随机数,可以在并发很高的情况下,保证唯一性。
固定编号+店铺ID+商品ID+时间戳+随机数
唯一性,随机性,其实还要有规律性,当然这个规律只能开发者自己知道
唯一性, 随机性, 不能让任何人能猜出 订单号
所以通常是 时间(给公司会计查看用)+ 随机数字(6个)+ 其他需要的字母用于业务即可
建议使用随机字母+时间戳+会员id+店铺id+随机数,可以在并发很高的情况下,保证唯一性
我们单位使用是用(yyyyMMddHHmmssfff+会员id后四位+6位随机数),然后转换成32进制
时间戳+uuid截取
一般是时间戳+会员id+店铺id+随机数并能够在一定程度上保证其唯一性,而且正常情况下保密性还是比较好的
我们用 订单类型(2个大写字母)+年月日时分妙(20180126121111)+4位随机数(5360)+通过复杂算法用用户的ID计算出来的6位数