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