Horde and Dovecot's SHA512-CRYPT: Не удается подключиться с помощью пользовательского SQL-запроса

после успешного переключения механизма аутентификации в dovecot и roundcube с MD5 на SHA512-CRYPT, мне трудно заставить Horde аутентифицироваться с помощью пользовательских запросов SQL.

Параметр $ conf ['auth'] ['params'] ['encryption'] = 'crypt-sha512'; не очень помогает.

Почему-то хэш, возвращаемый заполнителем \ P , кажется усеченным: он намного слишком короткий, соответствует результату crypt-sha256 и, кроме того, даже не выглядит правильным. Разумеется, он не совпадает с хешем в базе данных.

Поиск в Google не привел к ответу, поэтому я полагаюсь на ваши знания. Этот парень , похоже, имеет хотя бы немного похожую настройку и получает разумные хэши.

Это скорее проблема php или орда? Или это только я?

0
задан 4 November 2018 в 16:34
2 ответа

Аааа. Хорошо. Нашел свою ошибку. Для определения пароля мне также нужно изменить запрос, так как мне нужно удалить начальный {SHA512-CRYPT}:

$conf['auth']['params']['query_getpw'] = 'SELECT SUBSTRING_INDEX(password,\'}\',-1) FROM virtual_users WHERE email = \L';

, тогда

$conf['auth']['params']['query_auth'] = 'SELECT * FROM virtual_users WHERE email = \L AND password = concat(\'{SHA512-CRYPT}\',\P)';

работает :)

1
ответ дан 4 December 2019 в 15:48
$conf['auth']['params']['query_auth'] = 'SELECT * FROM virtual_users WHERE email = \L AND password = concat(\'{SHA512-CRYPT}\',ENCRYPT(\P, SUBSTRING_INDEX(`password`,\'}\',-1)))';

и

$conf['auth']['params']['encryption'] = 'plain';

мне кажется, работают. Но я бы предпочел иметь SQL-запрос без пароля в виде обычного текста. Разве это не работает так, как задумано в первом вопросе?

0
ответ дан 4 December 2019 в 15:48

Теги

Похожие вопросы