IF вы собираетесь это сделать, не только MD5 результат:
$pass = "***";
$salt = "[email protected])#%%@(#&@_!R151";
$pass = sha1($pass.$salt);
$pass = md5($pass);
Вместо запуска md5 на результат и на входы ...
$pass = "***";
$salt = "[email protected])#%%@(#&@_!R151";
$tmp = sha1($pass.$salt);
$pass = md5($tmp . $pass . $salt);
причина в том, что если вы делаете md5(sha1())
, вы в основном увеличиваете шансы столкновения. Причина в том, что все столкновения sha1
автоматически будут столкновениями в вызове md5
(следовательно, это надмножество коллизий). Повторно вводя пароль и соль, вы предотвращаете это, и, следовательно, создаете «более сильный» хэш, а не слабый ...
Я не думаю, что 'md5()' -ing ' sha1() 'hash - хорошая идея ... – BoltClock
Да, это сработает. Но убедитесь, что соль уникальна для каждого пароля. – Gumbo