27 php security passwords crypt blowfish
1)如何使用crypt()创建安全的Blowfish哈希密码?
$hash = crypt('somePassword', '$2a$07$nGYCCmhrzjrgdcxjH$');
Run Code Online (Sandbox Code Playgroud)
1a)"$ 2a"的意义是什么?它只是表明应该使用Blowfish算法吗?
1b)"07美元"有什么意义?更高的值意味着更安全的哈希吗?
1c)"$ nGYCCmhrzjrgdcxjH $"有什么意义?这是将要使用的盐吗?这应该随机生成吗?硬编码?
2)你如何存储河豚的哈希?
echo $hash;
//Output: $2a$07$nGYCCmhrzjrgdcxjH$$$$.xLJMTJxaRa12DnhpAJmKQw.NXXZHgyq
Run Code Online (Sandbox Code Playgroud)
2a)这应该存储在数据库中的哪一部分?
2b)列应该使用什么数据类型(MySQL)?
3)如何验证登录尝试?
xyp*_*oid 13
你应该存储crypt的整个输出,分解它并不是很重要,因为你需要为你在任何情况下散列的每个密码生成一个新的salt.使用Matt提到的固定隐藏盐是错误的 - 每个哈希值的盐应该是不同的.
有关更多信息,请参阅http://www.openwall.com/articles/PHP-Users-Passwords - 我建议使用phpass库,因为它处理为您生成随机盐,与crypt()不同.
归档时间: |
|
查看次数: |
25495 次 |
最近记录: |