$hash = sha1(rand().microtime());
我打算存儲在數據庫$哈希值。(產生唯一的哈希)
如果我一次又一次輸入一個字符串到Sha1()
它會產生相同的散列。但是,如果我輸入它microtime()
它返回當前的Unix時間戳與微秒 - 它保證所有未來呼叫(當前時間將增加)不同的散列。我在這裏假定未來的呼叫是在前一次呼叫之後至少1分鐘的時間內對此功能進行的呼叫?
你會說什麼?
我知道我可以通過簡單地檢查這個哈希是否已經存在於數據庫表中來檢查唯一性,但是我只是想知道是否可以像上面那樣使用它的獨特性。
爲什麼不直接使用AUTO_INCREMENT列?用時間戳散列替換現有功能有什麼意義? – 2012-08-06 09:40:43
我需要一些比普通數字更復雜的外觀。 – user1421214 2012-08-06 09:41:52
你說你需要唯一的號碼,AUTO_INCREMENT是唯一的解決方案。然後你說你實際上需要一些「複雜的外觀」。這是非常令人沮喪:)) – 2012-08-06 09:51:48