php password_hash password_verify 加密驗證不需要salt

李照耀發表於2024-12-10

無意間發現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 就行了。

相關文章