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