PHP crypt password
у меня есть две мелочи, о шифрование проходит, у меня есть этот код:
1- $mainpass = "test123";
$md5pass = md5($mainpass);
$sha1pass = sha1($md5pass);
$cryptpass = crypt($sha1pass, 'st');
echo ($cryptpass);
Которого output: 'stSuGIR46GScI'.
Но я не понимаю, потому что это (ниже) не равно и output постоянно меняется:
$mainpass = "test123";
$cryptpass = crypt(sha1(md5($mainpass)));
echo ($cryptpass);
По моей логике было бы эквивалентно.
2. И, в проверки и подтверждения пароля, как бы изменить код ниже, который имеет только md5, чтобы соответствовать шифрования сделана в верхней части (в случае, если правильный)?
if(isset($_POST['username'], $_POST['password'])) {
$username = $_POST['username'];
$password = md5($_POST['password']);
1
1 answers
Case 1:
И В первом примере, вы добавляете Соль ('st') при вызове функции crypt
. Считаю, что проблема находится там, так как это единственная разница видна. Измените второй пример:
$cryptpass = crypt(sha1(md5($mainpass)), 'st');
Case 2:
, Следуя той же логике, измените строку, где пароль":
$password = crypt(sha1(md5($_POST['password'])), 'st');
2
Author: Michael Siegwarth, 2014-03-25 10:51:53