OK。我真的做了一個大的研究,但我沒有任何加密/哈希知識。在我自己的機器上,我已經有了PHP 5.5,並且使用了password_hash函數。我剛剛意識到,我的在線託管有最大的PHP 5.4。PHP <5.5:password_hash compatible crypt hashing
我有一個特殊的類加密,這就是爲什麼有(希望)沒有太多的改變要做。這是我簡單的代碼:
class Enigma {
public static function hash($password) {
return password_hash($password, PASSWORD_DEFAULT);
}
public static function verify($password, $hash) {
if (password_verify($password, $hash)) return true;
return false;
}
}
,你可以看到這只是一個簡單的疊加,但使用它的第一時刻。我怎樣才能用crypt函數替換password_hash和password_verify函數以便將來兼容passrowd_函數?
例如。現在我將執行crypt(),然後將結果存儲在用戶數據庫中,並且在將來我將切換到password_hash和password_verify函數時,我希望此加密密碼正常工作,並且不會強制每個用戶更改密碼。
我希望在我的研究中我沒有遺漏任何東西。我正在尋找簡單,優雅,安全的解決方案:)。
THX您的幫助,BR
更新:我已閱讀本(http://pl1.php.net/manual/en/function.password-hash.php):
password_hash()創建使用強大的單向散列算法,生成新密碼哈希。 password_hash()與crypt()兼容。因此,由crypt()創建的密碼哈希可以與password_hash()一起使用。
但地下室有很多選擇,我不太清楚,如果他們都是兼容的。
你可以使用密碼兼容包=> https://github.com/ircmaxell/password_compat/ –
確定+1,非常感謝你:)。從來沒有聽說過...我喜歡自己做所有事情,但我會試一試。 –
不客氣。 –