mist
mist copied to clipboard
我可能发现了该算法的一个比较严重的问题
- 由于该算法高位是自增的,也就是高位序列是确定的,因此只要知道某一个id存在,则可以轻松取出该ID对应的高位需求,并可以顺序前推或后推必然存在的id高位部分。
- 由于低16位的组合复杂度最大为
256 ** 2 = 65536
次,任意一台计算机都能够在很短的时间内找到对应高位的所有低位ID。 - 那么,我们只要知道1个已存在的ID,推测出其它ID的成本非常低。
4、信息安全:如果 ID 是连续的,恶意用户的爬取工作就非常容易做了,直接按照顺序下载指定 URL 即可;如果是订单号就更危险了,竞对可以直接知道我们一天的单量。所以在一些应用场景下,会需要 ID 无规则、不规则;
那么,该算法对上面这一点(信息安全)的保护能力就非常有限。
我不知道我的顾虑是否多余,该算法是否有更多安全策略来保护信息安全呢?