PHP不同的单向哈希密码安全性

Sur*_*raj 2 php security md5 sha1 password-protection

我想知道使用不同的可用方法在PHP中散列密码,并将它们的组合用于越来越多的安全性.我想知道这是否有用..?

$pass = "***";
$salt = "!@)#%%@(#&@_!R151";
$pass = sha1($pass.$salt);
$pass = md5($pass);
Run Code Online (Sandbox Code Playgroud)

You*_*nse 5

不.组合不添加任何安全性.
实际上你让它不太安全.从理论上讲,无论如何.

我有一种感觉,哈希问题被高估了.
没有人担心任何其他安全问题,但是每个人都渴望在十亿年内制造一个不可破解的哈希.放松,伙计.还有数以千计的其他方法可以打破您的应用.


sha*_*mar 5

而不是那样,你可以使用更强大的散列算法,比如sha512结合强盐和UserID:这样做:

 echo hash('sha512', 'MyPassword' . $StrongSalt . $UserID);
Run Code Online (Sandbox Code Playgroud)

SHA512实际上是SHA-2,没有找到任何冲突.请参阅维基百科.