我在花了幾個小時瀏覽SO上的許多帖子之後提出了這個問題,以最安全的方式處理PHP/MySQL中的密碼。大多數答案似乎都過時了,人們指向的鏈接也是如此。許多人推薦md5和sha-1。2011年PHP密碼散列
我們都知道MD5和SHA-1不再使用,因爲它們已被顛倒過來,並且還因爲有許多數據庫已經構建了數百萬個md5/sha1字符串。現在,顯然你可以用鹽來解決這個問題,我打算這麼做。
然而,我最近開始使用漩渦遊戲,這似乎更安全,並且是最新的。我是否會認爲漩渦+鹽對密碼有足夠的保護?
我其實是考慮這樣的事情:
<?php
$static_salt = 'some_static_salt_string_hard_coded';
$password = 'some_password_here';
$salt = 'unique_salt_generated_here';
$encoded = hash('whirlpool', $static_salt.$password.$salt);
?>
你覺得呢?矯枉過正或明智嗎?
散列算法不能顛倒。你只能對他們進行測試。 – HyderA
另請參閱Openwall的[PHP密碼哈希框架](http://www.openwall.com/phpass/)(PHPass)。它的便攜性和強化針對許多用戶密碼的常見攻擊。寫這個框架的人(SolarDesigner)是寫[John The Ripper](http://www.openwall.com/john/)並且在[密碼散列比賽](http:///password-hashing.net/)。所以他知道一兩件關於密碼攻擊的事情。 – jww