無意間發現php現在有這樣的函式,它是php 5.5 以後引入的。用法如下
<?php $passwordHash = password_hash('my password', PASSWORD_DEFAULT); var_dump($passwordHash); var_dump(password_verify('my password', $passwordHash)); var_dump(password_verify('other password', $passwordHash));
發現執行結果如下
這裡我感覺這個函式是自己帶了 salt 儲存在出來的password中,它不需要一個統一的加密salt來實現password的加密。
在以往 我們都是用 md5("my password" . 'salt') 類似這樣的方法實現的加密,驗證的時候也要拼接對應的salt來驗證是否一致,現在好了,直接一個 password_verify 就行了。