首頁 >後端開發 >php教程 >透過截取某字串雜湊結果的前n位元字元來比較字串正確性的做法是否妥當?

透過截取某字串雜湊結果的前n位元字元來比較字串正確性的做法是否妥當?

WBOY
WBOY原創
2016-12-01 00:56:361279瀏覽

當我們儲存使用者密碼的時候當然需要保存完整的雜湊結果,但有時候這個雜湊結果很長,在有些情況下顯得很臃腫。例如我想寫一個簡單的cookie防偽造程序,思路是先將cookie原始值進行mcrypt可逆加密,再將值拼上salt計算sha256並截取sha256結果的前10位接在最終cookie值的後面。驗證時只需要將cookie值拆開,解密前一段字符,併計算sha256取前10位與後面的值進行比較。這樣的做法是否安全?

回覆內容:

當我們儲存使用者密碼的時候當然需要保存完整的雜湊結果,但有時候這個雜湊結果很長,在有些情況下顯得很臃腫。例如我想寫一個簡單的cookie防偽造程序,思路是先將cookie原始值進行mcrypt可逆加密,再將值拼上salt計算sha256並截取sha256結果的前10位接在最終cookie值的後面。驗證時只需要將cookie值拆開,解密前一段字符,併計算sha256取前10位與後面的值進行比較。這樣的做法是否安全?

密碼的hash值不應該放在cookie中,你可以另外產生token來驗證登入。

這種做法還是很常見的, 16位的md5就是先計算出32位然後截取中間16位來實現的.當然,太短了要小心被暴力破解.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn