Безопасная авторизация и сравнение хэш значений паролей в WP
-
Как можно безопасно передавать пароли при авторизации в WordPress ?
Много искал, но нигде для WordPress нет ничего описанного об безопасной авторизации, например такой при которой пароли не передаются вообще, а лишь генерируются временные хэш ключи на сервере и клиенте, а после на сервере сравниваются их значения.
Хотел такое реализовать сам, но WordPress не хранит пароль в хэше типа md5 или sha1, он хранит пароль в таком хэше который каждый раз при шифровании пароля уникальный, пример такой функции wp_hash_password()По этому нельзя так сделать с временным ключами, как это можно было бы сделать с хэшами типа md5 или sha1 и т.п.
Средствами WordPress сравнить правильность пароля можно только имея текстовый пароль в открытом виде и шифрованный хэш пароль который находится в базе данных, например этой функцией: wp_check_password()Также и залогинится можно например этими функциями: wp_signon(), но здесь надо также пароль в открытом виде.
Теперь такое, без пароля можно авторизировать пользователя по ID вот этой функцией: wp_set_auth_cookie()
Но что бы иметь возможность сделать авторизацию без передачи пароля например, на клиенте захэшировать пароль с помощью JS таким же методом ка это делает WordPress, а после сравнить эти хэши на сервере:
Код
http://wp-kama.ru/function/wp_hash_password
http://wp-kama.ru/filecode/wp-includes/class-phpass.php
для этого необходимо иметь возможность сравнивать эти хэши по типу как это делает функция wp_check_password(), только в ней указывается текстовый пароль и хэш, а надо сравнить именно хэш пароля с клиента и хэш пароля с базы данных сайта.Скажите есть ли какие то функции WP, PHP или средства для сравнивания этих типов хэшей?
Ведь функция wp_check_password( $input_text_password, $hash_password ), как то же делает сравнение текстового и хешированного пароля…?
- Тема «Безопасная авторизация и сравнение хэш значений паролей в WP» закрыта для новых ответов.