в моей базе данных я сохранил пароли с
password_hash($user->getPassword(), PASSWORD_BCRYPT);
В форме входа в систему пользователь вводит этот пароль, а я кодирую пароль в строку bcrypt и отправляю зашифрованный пароль (потому что у меня нет SSL) на сервер.
Итак, мой вопрос, можно ли сравнить два хеша, которые генерируются с bcrypt?
В форме входа в систему пользователь вводит этот пароль, а я кодирую пароль в строку bcrypt и отправляю зашифрованный пароль (потому что у меня нет SSL) на сервер.
Прекратите то, что вы делаете, и купите сертификат SSL. Есть несколько мест (https://www.startssl.com/ один) вы можете получить один бесплатно, или вы можете заплатить 7 долларов кому-то, как Namecheap.
Вы реализовали иллюзия безопасности. Хэширование пароля на стороне клиента не дает никаких существенных преимуществ в плане безопасности — любой злоумышленник MITM просто должен передать откорректированные копии вашего JavaScript кому-то, кого он атакует (или просто перехватить хешированный пароль, который по сути является пользователем реальный пароль в вашей схеме).
Других решений пока нет …