|
|
|
| Читал, что соль лучше делать из случайного набора символов. Но тогда, если
$password = $_POST['password'] ;
$salt = случайная строка из 10 символов ;
$hash_pass = шифрование ( шифрование ( $password ).$salt ) ;
//Далее записываю хэш в бд
|
то при авторизаци пользователя нужно будет проделать то же самое со введенным им паролем (1), достать хэш из бд (2), сравнить 1 и 2. Проблема в том, что соль генерится случайно, а следовательно, 1 и 2 будут различаться. Вот.
Как же быть? | |
|
|
|
|
|
|
|
|
для: ramundo
(16.11.2014 в 14:49)
| | >то при авторизаци пользователя нужно будет проделать то же самое со введенным им паролем (1), достать хэш из бд (2), сравнить 1 и 2.
слегка не так.
придется достать из БД соль и хеш правильного пароля, по соли посчитать хеш пароля предъявляемого, и наконец, сравнить два хеша. | |
|
|
|
|
|
|
|
для: Trianon
(16.11.2014 в 17:34)
| | Спасибо! А можно краткий пример ? | |
|
|
|
|
|
|
|
для: Ramundo
(17.11.2014 в 03:19)
| |
$sql = 'SELECT `id`, `login`, `solt`, `hash` FROM `'.USER_TABLE.'` WHERE `login` = "'.real_escape_string($_POST[name]).'"';
$var = query($sql);
$data = fetch_array($var);
if($data['hash'] == md5(md5($data['solt']).md5($_POST['pass'])))
{... }
|
| |
|
|
|
|
|
|
|
для: moonfox
(17.11.2014 в 12:38)
| | Благодарю! | |
|
|
|