ЕСЛИ вы собираетесь это сделать, а не просто MD5 результат:
$pass = "***";
$salt = "!@)#%%@(#&@_!R151";
$pass = sha1($pass.$salt);
$pass = md5($pass);
Вместо этого запустите md5 для результата и входных данных ...
$pass = "***";
$salt = "!@)#%%@(#&@_!R151";
$tmp = sha1($pass.$salt);
$pass = md5($tmp . $pass . $salt);
Причина в том, что если вы делаете md5(sha1())
, вы в основном увеличиваете вероятность столкновения.Причина в том, что все sha1
коллизии будут автоматически коллизиями в вызове md5
(следовательно, это супернабор коллизий).Повторно введя пароль и соль, вы предотвращаете это и, следовательно, создаете более сильный хэш, а не более слабый ...