На crackstation.net сказано: Проверка пароля Извлеките соль пользователя и хэш из базы данных. Подготовьте соль к данному паролю и используйте его с помощью той же функции хэш-функции. Сравните хэш данного пароля с хешем из базы данных. Если они совпадают, пароль правильный. В противном случае Неверный пароль. Однако в исходном коде, указанном в нижней части страницы, […]
Потерпите меня, я только изучаю PHP всего несколько недель, поэтому пример кода может смутить меня. Я думаю, что, наконец, понимаю соление! Это защита паролей внутри базы данных, если она нарушена. Я не понимаю, почему хакер должен взломать хэши, если они пытаются определить пароль пользователя (если это их цель)? Разве это не будет проще? Единственная защита […]
Я относительно новичок в php и только начинаю понимать смысл соли, когда речь идет о хэшировании паролей (я думаю?). В любом случае, вот моя проблема … Прямо сейчас у меня есть база данных mysql с именем пользователя, паролем, солевым полем. Длина поля пароля составляет 64 символа, поле соля – 3 символа. В реестре каждому имени […]
Я новичок в хранении паролей в базах данных и из того, что я прочитал, я создал простой скрипт php ниже <?php $salt = openssl_random_pseudo_bytes (16); $password = "test"; $hash = hash ("sha512" , $salt . $password); echo $hash; ?> Правильно ли я делаю это? Должна ли соль храниться в базах данных в виде байтового типа […]
Код: echo password_hash("stackoverflow", PASSWORD_DEFAULT, ['salt' => 'twenty-one-characters'] ); Результат: Warning: password_hash(): Provided salt is too short: 21 expecting 22 код: echo password_hash("stackoverflow", PASSWORD_DEFAULT, ['salt' => 'twenty-one-charactersA'] ); Результат: $2y$10$dHdlbnR5LW9uZS1jaGFyYOVyX13hK9eb4/KXMAkHsAJX..YR7t/32 код: echo password_hash("stackoverflow", PASSWORD_DEFAULT, ['salt' => 'twenty-one-charactersB'] ); $2y$10$dHdlbnR5LW9uZS1jaGFyYOVyX13hK9eb4/KXMAkHsAJX..YR7t/32 Вопрос: Как вы видите, добавив A и B к 21 символьной строке, мы создали две разные соли […]
Я хочу хранить защищенные пароли пользователей в базе данных MySQL с помощью PHP. Как я могу сделать это лучше? Мои занятия: private static $algo = '$2a'; private static $cost = '$10'; private static $pepper = 'eMI8MHpEByw/M4c9o7sN3d'; public static function generateSalt($length) { $randomBinaryString = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM); $randomEncodedString = str_replace('+', '.', base64_encode($randomBinaryString)); return substr($randomEncodedString, 0, $length); } […]
это некоторые функции, которые я использую для шифрования паролей и проверки пароля. Было интересно, если это хороший способ справиться с этим. Я использую frameworkignign framework. Это функция «шифрования»: function crypt_pass( $input ){ $salt = substr(sha1(date('r')), rand(0, 17), 22); $cost = 10; $hash = '$2y$' . $cost . '$' . $salt; $pw_and_salt['pw'] = crypt($input, "$hash"); $pw_and_salt['salt'] […]
Он продолжает работать в моей голове последние пару дней, но я прочитал несколько статей о том, как сделать ваши сессии PHP более безопасными. Почти все эти статьи говорят, что вам нужно сохранить useragent в сеансе с дополнительной солью. Что-то вроде этого: $fingerprint = md5('SECRET-SALT'.$_SERVER['HTTP_USER_AGENT']); Соль затруднит захват или любой другой сеанс. Но ПОЧЕМУ добавьте соль […]
Я сделал шифрование пароля в моем скрипте регистрации, и они хранятся в базе данных, и я должен использовать их для входа в систему, поэтому я хотел бы использовать незашифрованные для входа. Я читал некоторые из потоков здесь, но ничто не помогает мне. Как добавить его в свой login.php? Соль также хранится в базе данных. Это […]
Недавно я пытался реализовать свою собственную безопасность в сценарии входа в систему, который я наткнулся на Интернет. После попытки попытаться научиться создавать собственный скрипт для создания соли для каждого пользователя, я наткнулся на password_hash. Из того, что я понимаю (основываясь на чтении на этой странице: http://php.net/manual/en/faq.passwords.php ), соль уже сгенерирована в строке при использовании пароля. […]