【发布时间】:2014-03-09 19:57:27
【问题描述】:
$pass="test"
上面的变量包含一个名为 test 的密码。我想使用 sha512 md5 和 salt 对这个密码进行哈希处理,因为我只发现 salt 和 sha512 的好处,我已经知道 md5 加密。请我需要解决方案我的系统很脆弱
请用代码示例解释一下,因为我仍然附在 md5 上
根据我对您的 cmets 的理解和答案,我得到了以下代码
$pass="test";
$hashed_pass= openssl_digest($pass, 'sha512');
ok 看起来足够可靠,但是 [salt=''] 是什么? 它会生成一个随机的盐字符串吗?如果是的话如何实现它?
【问题讨论】:
-
为什么不使用现在内置于 PHP 本身的 password_* 函数,或者如果您还没有使用 PHP5.5 和这些函数的 userland implementation 并且代码示例在 PHP 中文档页面
-
另见 Openwall 的 PHP password hashing framework (PHPass)。它的便携性和强化了针对用户密码的一些常见攻击。编写框架 (SolarDesigner) 的人与编写 John The Ripper 并在 Password Hashing Competition 担任评委的人是同一个人。所以他对密码攻击略知一二。
-
一个简单的谷歌查询已经回答了所有这些问题
标签: php cryptography md5 salt sha512