2017-05-09 214 views
1

我想弄清楚使用Hashids的最佳做法,如果我應該將我的哈希ID存儲在數據庫的列中,或者應該按照文檔。即在一個區域對Id進行編碼,在另一個區域對其進行解碼。HashIds - 將數據存儲到數據庫或不存儲到

使用我當前的設置,我編碼了所有主鍵ID,並在值可公開訪問時進行解碼(這是模塊的預期目的),但我擔心生成的哈希值是唯一的因爲我的ID將在未來的某個時候發生變化,這可能會導致我的應用程序出現鏈接共享等問題。

基於這種情況下,我真的應該生成的哈希存儲在我的數據庫中的列和查詢?

回答

1

關於您是否應該在數據庫中存儲Id或不是真的由您決定。我會說沒有必要這樣做。

哈希值是否會在將來發生變化或者不是真的取決於您是否更新包或從網頁上更新包;

由於生成的id在更新後可能會有所不同,因此請確保包含Hashids的確切版本,這樣您就不會在不知不覺中更改現有的ID。

不知道你使用的是哪個版本,但我是.NET版本的作者,我一直試圖按照語義版本化的含義修復錯誤,我增加了補丁,增加了功能(不中斷)輕微增加。哈希值是如何變化的我會增加主要的。

+0

這正是我一直在尋找的。謝謝! – cphill