HashIds - 是否在数据库中存储哈希

HashIds - To Store Hash in DB or Not To

我正在尝试找出使用 Hashids 的最佳实践,以及我是否应该将我的哈希 ID 存储在我的数据库的列中,或者我是否应该按照文档中的说明使用它。即在一个区域编码 Id,在另一个区域解码它。

在我当前的设置中,我一直在对所有主键 ID 进行编码,并在值可公开访问时对其进行解码,这是该模块的预期目的,但我担心唯一的哈希值为我的 id 生成的将在将来的某个时候发生变化,这可能会导致我的应用程序 link 共享能力等问题。

基于这种情况,我真的应该将生成的散列存储到我的数据库中的一个列中并查询吗?

关于是否应该将 Id 存储在数据库中完全由您决定。我会说没有必要这样做。

哈希值将来是否会改变实际上取决于您是否从页面更新包;

Since produced ids might differ after updates, be sure to include exact version of Hashids, so you don't unknowingly change your existing ids.

不知道您使用的是哪个版本,但我是 .NET 版本的作者,我一直在尝试通过错误修复来遵循语义版本控制的含义我增加补丁,增加功能(非破坏性)次要的。哈希的生成方式是否会发生变化,我会增加 major.