php安全:使用MD5,SHA1,Salting

Pet*_*gad 1 php security md5 sha1

目前,许多我的密码的存储与MD5的SHA1算法的但是我刚刚被介绍到腌制的混合物,并想知道什么可能是最安全的故障.

我证明一个简单的md5()很容易被撤销,然而md5(sha1(md5($ var))); 这个组合是否提供了更多难度,或者更不一定更好.

而且,正在做

$var = $var.'t00lup';
md5($var);
Run Code Online (Sandbox Code Playgroud)

比上面更安全,假设t00lup是一个私钥?

有没有更好的方法来做这个,而不是只使用md5或只使用sha1?

谢谢

Eri*_*lje 11

几件事:

  1. 只需使用SHA256 - 不要打扰重新散列.

  2. 不要只为每个帐户硬编码一个盐.为每个用户生成一个随机盐,并将其放在数据库中的用户记录中.这样,如果有人为该盐生成彩虹表,至少他们只能访问该一个用户帐户而不是所有用户帐户.


rye*_*guy 5

更多不一定更好.只需使用Sha256即可完成.

$var = $var.'t00lup';
$hashedPass=hash('sha256', $var);
Run Code Online (Sandbox Code Playgroud)

在这里阅读更多关于hash()的信息.

  • 是的,它实际上支持大约35种不同的哈希算法.见这里:http://us.php.net/manual/en/function.hash-algos.php (4认同)