0
我在的config.php文件設置的密鑰呼叫笨加密密鑰
$config['encryption_key'] = '[email protected][email protected]!`[email protected]%^&';
我想註冊用戶到網站時使用的密碼,此鍵,現在我用這個方法
'password' => hash('sha256', $password . '[email protected][email protected]!`[email protected]%^&')
有什麼辦法,我可以將上面的代碼一樣
'password' => hash('sha256', $password . $config['encryption_key']),
當我這樣做給未定義的$配置變量的錯誤。
你不應該使用簡單的散列函數來保護你的用戶密碼。你需要使用像PBKDF2,bcrypt,scrypt和Argon2這樣強大的散列方案。一定要使用高成本因子/迭代次數。選擇成本是很常見的,因此一次迭代至少需要100ms。查看更多:[如何安全哈希密碼?](http://security.stackexchange.com/q/211/45523) –
只使用哈希函數是不夠的,只是添加鹽沒有提高安全性,加密哈希速度非常快。相反,用隨機鹽迭代HMAC約100ms持續時間,然後用散列表保存鹽。使用諸如「PBKDF2」(又名'Rfc2898DeriveBytes'),'password_hash' /'password_verify','Bcrypt'和類似函數的函數。關鍵是要讓攻擊者花費大量時間通過強力查找密碼。 **保護您的用戶非常重要,請使用安全的密碼方法。** – zaph