没有,您的算法不可扩展。我之前做过的事情是连续发行数字(每次+1),然后通过XOR操作使数字混乱,从而给我看似随机的数字。当然,它们并不是真正随机的,但是在用户看来,它们是如此。
[编辑] 附加信息
该算法的逻辑如下:您使用已知序列生成唯一数字,然后确定性地操作它们,因此它们不再看起来是连续的。通用的解决方案是使用某种形式的加密,在我的情况下是XOR触发器,因为它能获得最快的速度,并且可以保证数字永远不会冲突。
但是,如果您希望使用看起来更随机的数字而不是速度,则可以使用其他形式的加密(例如,您不需要一次生成许多ID)。现在,选择加密算法的重点是“保证数字永不冲突”。证明加密算法是否可以满足此保证的一种方法是,检查原始数字和加密结果是否具有相同的位数,并且该算法是可逆的(双射)。
[感谢 Adam Liss 和 CesarB 在解决方案方面的 出色 表现]



