2017-03-24 29 views
-2

現在,PHP> = 5.6中的password_hash(),我們是否還需要使用BCRYPT來使對象/密碼更安全?如何在PHP中使用帶password_hash()的BCRYPT()PHP

如果是,那麼是否有人可以說明如何使用password_hash()和BCRYPT在註冊頁面中存儲密碼,然後如何在登錄頁面上檢索登錄用戶的信息?

對不起,如果有人被初學者有限的知識冒犯了。我很困惑,並沒有完全得到答案。

UPDATE:

我現在有這個想法,也沒有必要給用戶BCRYPT /鹽/辣椒password_hash()現在爲PHP運行時創建它自己的隨機鹽。 最簡單的一步就是使用password_hash($ passwordVariable)簡單地哈希密碼,並使用password_verify($ passwordEntered,$ hashedPassword_fromDB)進行驗證。 謝謝大家。

+0

你可能想讀password_hash PHP手冊頁面:http:// php.net/password_hash –

+0

我已經閱讀過,似乎沒有必要使用BCRYPT和password_hash,這正是我想確認的。謝謝。 –

+0

更新: 我現在想到了,因爲PHP在運行時創建了自己的隨機鹽,所以現在不需要用戶BCRYPT/salt/pepper和password_hash()。 最簡單的步驟是簡單地使用password_hash($ passwordVariable)對散列密碼進行驗證,然後使用password_verify($ passwordEntered,$ hashedPassword_fromDB) –

回答

1

背後password_hash整體思路()是始終使用了最新的散列算法。目前,默認算法。使用的確切是BCRYPT。它甚至可以讓你傳遞更多的選項,讓你的密碼更安全(例如你自己的鹽或工作因素)。 甚至更​​好的是,PHP還提供了password_needs_rehash()函數,它允許您稍後檢查給定的哈希是否使用當前算法創建的,如果沒有,您可以重新提供密碼。 檢查出pasword_hash PHP官方文檔頁面():http://php.net/manual/en/function.password-hash.php

1

無需用戶BCRYPT /鹽/辣椒password_hash()現在爲PHP運行時創建它自己的隨機鹽。

最簡單的步驟是簡單的哈希使用password_hash($ passwordVariable)密碼和驗證只需使用password_verify($ passwordEntered,$ hashedPassword_fromDB)