回答
您正在使用time()
作爲salt。你可以做到這一點,但不要忘記存儲它(否則,你將如何能夠檢查給定的與salt串聯的密碼是否與存儲的哈希匹配?)。 sha512
是散列算法的絕佳選擇。我建議
$salt = uniqid('carlgcoder_') . microtime(true);
$hash = hash('sha512', $salt . $_POST['password']);
這是一個靜態的鹽和隨機的一起嗎?我想知道這件事,這會有好處嗎? – carlgcoder
好吧,感謝您的幫助,我將堅持我所擁有的,並添加靜態鹽以及...將靜態鹽更好地存儲爲全局變量或實際哈希本身中,就像您的示例?? - – carlgcoder
@carlgcoder這種鹽包含一個靜態部分和一個變量。 (時間不是隨機的)。動態部分使每個鹽都獨一無二 - 如果不同用戶的兩種鹽相同,攻擊者可以在一次運行中找到兩個密碼。此外,它還包含一個(不太重要的)靜態組件,以確保假設的攻擊者爲'microtime'和'uniqid'的所有可能值創建表將不得不爲您的項目定製他的表。 – phihag
我建議加一個salt創建和散列密碼時,其他那麼 - 是的。
鹽是時間(),它存儲在數據庫中,因爲當用戶加入該網站,那麼每個用戶都是個人的。 – carlgcoder
你如何檢查密碼是否匹配?你有那個時間存儲在某個地方嗎? –
是的,我正在使用存儲在數據庫中的時間來計算帳戶的年齡,併爲用戶登錄。 – carlgcoder
- 1. 這是否足夠安全?
- 2. 這些安全功能是否足夠?
- 3. Gmail是否足夠安全?
- 4. Webservice安全性 - 什麼是足夠的?
- 5. PHP:filter_var安全性足夠安全嗎?
- 6. Erlang是否通過cookie足夠安全?
- 7. AJP足夠安全嗎?
- 8. htmlspecialchars()足夠安全嗎?
- 9. 它足夠安全嗎?
- 10. Firebase:它足夠安全嗎?
- 11. php-login.net足夠小安全
- 12. 這個哈希/驗證類是否足夠安全?
- 13. 這種AES加密是否足夠安全?
- 14. 這個密碼加密是否足夠安全?
- 15. 這個PHP函數會提供足夠的數據散列嗎?
- 16. 這個基本的文件上傳檢查足夠安全嗎?
- 17. 這個小Doctrine2動態SQL足夠安全的注入嗎?
- 18. PHP密碼保護足夠安全
- 19. 此登錄系統足夠安全嗎?
- 20. 是否有足夠的信息來反轉散列?
- 21. 我的一次性密碼的安全性是否足夠安全?
- 22. 多個設備上的自簽名SSL證書 - 這是否足夠安全?
- 23. 這是php/mysql表達式(它設置連接的時區)足夠安全嗎?
- 24. 對於普通程序員是否有「足夠好」的散列函數?
- 25. Facebook的客戶端身份驗證是否足夠安全?
- 26. 驗證Realm是否有足夠的安全性?
- 27. 使用SSL的基本身份驗證是否足夠安全?
- 28. 是activity.finish()足夠安全的向上導航操作
- 29. 自動更新 - 什麼是「足夠」的安全性?
- 30. 這是一個安全的方式來散列密碼?
除非您告訴我們有關如何使用計算出的哈希值的所有信息,否則談論安全性是不現實的。 – Jon
只是一個簡單的登錄/註冊項目,我正在使用wamp,它是用戶登錄的密碼,我用時間戳 – carlgcoder