Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试找出使用Hashids的最佳实践,以及是否应该将我的哈希 id 存储在我的数据库中的列中,或者我应该按照文档中的说明使用它。即在一个区域编码Id,在另一个区域解码。
使用我当前的设置,我一直在对所有主键 ID 进行编码并在值可公开访问时对其进行解码,这是该模块的预期目的,但我担心为我的 ID 唯一生成的哈希将在将来的某个时候发生变化,这可能会导致我的应用程序的链接共享能力等问题。
基于这种情况,我真的应该将生成的哈希存储到我的数据库中的列中并查询吗?
关于是否应该将 Id 存储在数据库中,这实际上由您决定。我会说没有必要这样做。
哈希值是否会在未来发生变化实际上取决于您是否从页面更新包;
由于更新后生成的 id 可能会有所不同,因此请确保包含 Hashids 的确切版本,这样您就不会在不知不觉中更改现有的 id。
不知道您使用的是哪个版本,但我是 .NET 版本的作者,我一直在尝试通过修复错误来遵循语义版本控制的含义,我增加了补丁,添加的功能(非破坏性)增加了次要。哈希的生成方式会发生变化吗?我会增加专业。