Intereting Posts
500 – внутренняя ошибка сервера? Simplexml_load_string ($ string) возвращает пустой объект, но $ string содержит xml? код ниже Структурирование SQL-запроса на основе нескольких флажков Отображение новостей / хронологий на Facebook на веб-сайте Переключение двух элементов в ассоциативном массиве Корень документа Laravel настроен для домена cpanel – угроза безопасности? Загрузите файл с помощью HTTP. ошибка: – HttpSendReuest 12005 PHP Codeigniter в Centos: include_once не работает для пользовательских системных библиотек Поместите изображение в центр другого изображения, используя PHP GD PHP, переписывание URL-адресов с помощью htaccess и перезапись URL-адреса Microsoft IIS Обрабатывание изображений PHP на квадрат Существуют ли языки программирования, предназначенные для PHP, помимо Haxe? Ошибка при загрузке изображения Yii Скрипт входа / регистрации / пользователя PHP извлекать данные из db и отображать их в таблице в php .. см. этот код, что с ним не так?

python и php bcrypt

Я использовал Laravel для регистрации пользователей. Он использует bcrypt следующим образом:

$2y$10$kb9T4WXdz5aKLSZX1OkpMOx.3ogUn9QX8GRZ93rd99i7VLKmeoXXX 

В настоящее время я делаю еще один скрипт, который будет аутентифицировать пользователей из другого источника с помощью python. Я установил py-bcrypt и попробовал. Формат выглядит следующим образом:

 $2a$10$Vj0b0GZegbpXIIpa/lvi9OjkAFJ5zNzziVRW7yN9ssDKVQDX47XXX 

Но на python я не могу аутентифицировать пользователя из-за invalid salt .

Я заметил, что Larvel bcrypt использует $2y тогда как python использует $2a . Как мне обойти это?

заметки:

 I used 10 rounds for both crypts. 

Я только что узнал, что 2a и 2y очень похожи, кроме имени (префикс).

заменив 2y хэша laravel, до 2a прежнему сохраняет целостность хэша и должен работать правильно и соответствовать паролю, даже если вы замените его.

В моем случае (вопрос) решение заключалось в использовании str.replace('$2y$', '$2a$') и все это работало хорошо. Теперь py-bcrypt принимает хеш без ошибочной invalid salt .

Удачи, ребята.