我有一个自动递增的 id(一个 int),我想将其转换为不太“可开采”的东西。基本上,我不希望人们能够访问 data/0、data/1、data/2 等并破坏我们的整个数据库。我正在考虑只是对 ID 进行哈希处理,但我不确定是否可以保证唯一性。
假设价值范围是从 1 到几亿。可能其中一种哈希算法可以保证这些参数内的唯一性。
如果没有,采取什么好方法?
我确实考虑过散列,然后附加 ID。
我试图避免使用 GUID,因为它需要对现有代码进行大量更改,所以我更愿意转换我拥有的数据。
编辑:
为了进一步解释这种情况 - 这些是受到打击的静态资源。我不必去数据库并反转它或对照其他东西查找它。想象一下产品列表 - 用户可能有指向特定页面的链接,但我不希望他们能够以编程方式浏览每个页面,因此我需要一个非递增 ID。