我正在试图找出使用哈希德的最佳实践,以及是应该将散列it存储在数据库中的列中,还是应该像文档中所演示的那样使用它。即在一个区域对Id进行编码,在另一个区域中解码。
使用当前的设置,我一直在对所有主密钥id进行编码,并在这些值被公开访问时对它们进行解码,这正是该模块的预定用途,但我担心,为我的id唯一生成的散列在将来的某个时候会发生变化,这可能会导致诸如我的应用程序的链接共享能力等问题。
基于这个场景,我是否真的应该将生成的哈希存储到我的db中的一个列中并对其进行查询?
发布于 2017-05-09 20:42:10
至于您是否应该将Id存储在数据库中,这真的由您来决定。我想说,没有必要这样做。
散列在将来是否会改变取决于您是否从页面中更新包;
由于生成的ids在更新后可能有所不同,所以一定要包含精确版本的Hashid,这样您就不会在不知不觉中更改现有的ids。
不知道您使用的是哪个版本,但我是.NET版本的作者,我一直试图通过增加修补程序来遵循语义版本控制的含义,增加补丁,添加特性(不破坏)会增加一些小功能。如果在产生散列的方式上有变化,我会增加专业。
https://stackoverflow.com/questions/43870917
复制相似问题