2017-05-09 177 views
1

我想弄清楚使用Hashids的最佳做法,如果我应该将我的哈希ID存储在数据库的列中,或者应该按照文档。即在一个区域对Id进行编码,在另一个区域对其进行解码。HashIds - 将数据存储到数据库或不存储到

使用我当前的设置,我编码了所有主键ID,并在值可公开访问时进行解码(这是模块的预期目的),但我担心生成的哈希值是唯一的因为我的ID将在未来的某个时候发生变化,这可能会导致我的应用程序出现链接共享等问题。

基于这种情况下,我真的应该生成的哈希存储在我的数据库中的列和查询?

回答

1

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

哈希值是否会在将来发生变化或者不是真的取决于您是否更新包或从网页上更新包;

由于生成的id在更新后可能会有所不同,因此请确保包含Hashids的确切版本,这样您就不会在不知不觉中更改现有的ID。

不知道你使用的是哪个版本,但我是.NET版本的作者,我一直试图按照语义版本化的含义修复错误,我增加了补丁,增加了功能(不中断)轻微增加。哈希值是如何变化的我会增加主要的。

+0

这正是我一直在寻找的。谢谢! – cphill