我已經創建了一個測驗應用程序,該應用程序通過電子郵件向用戶發送結果。我想在URL中包括一個鏈接,用戶可以點擊查看他們的詳細分類我要的URL看起來像這樣:已完成/散列url參數
http://www.mysite.com/quiz/view/32k4k2u4vxcv88xcv8cv0x98c9v7c7v8887cv
顯然不能僅僅散列ID cos很容易反向工程,下一個最好的,最簡單的方法來做這個軸承記住,我必須執行一個sql查詢來比較哈希值?
我已經創建了一個測驗應用程序,該應用程序通過電子郵件向用戶發送結果。我想在URL中包括一個鏈接,用戶可以點擊查看他們的詳細分類我要的URL看起來像這樣:已完成/散列url參數
http://www.mysite.com/quiz/view/32k4k2u4vxcv88xcv8cv0x98c9v7c7v8887cv
顯然不能僅僅散列ID cos很容易反向工程,下一個最好的,最簡單的方法來做這個軸承記住,我必須執行一個sql查詢來比較哈希值?
您可以使用SALT來獲得更尊敬的工程感知散列。
define("SALT", "some random string .fsddf09asf9sd0-f9sd0-f9sd-0f9s0a-9f-");
$hash = md5(SALT.$user_id);
後來,當用戶試圖訪問的網址,他又一次生成散列,與鹽,並與URL提供的哈希進行比較。
請記住md5已經被破壞了算法。使用SHA哈希算法中的一些。
Regards
不要散列任何東西。生成GUID。將GUID作爲私鑰存儲在Db中。 – 2009-08-03 07:58:49