В конфиге соль не указана. Если залезть в бд, то там хэш в 64 символа. В Md5 насколько я понял он 32. Если ввести два одинаковых пароля у разных поль-лей - хэш не совпадает.
Шифрование паролей
Количество ответов: 7Re: Шифрование паролей
Не могу разобраться как шифруются пароли.
https://docs.moodle.org/30/en/Password_salting
До версии 2.5 к паролям перед хешированием добавляли зашумление (salt), единый для всех пользователей и указанный в config.php ($CFG->passwordsaltmain).
После 2.5 используются функции РНР для генерации каждому пользователю своего личного salt, поэтому в конфиге параметр $CFG->passwordsaltmain уже не нужен. Как генерируется salt можно посмотреть тут: /lib/password_compat/lib/password.php
Проверка пароля - функция validate_internal_user_password (/lib/moodlelib.php)
Re: Шифрование паролей
Получается первая половина пароля это salt (28 символов)
а вторая это md5 - 32 символа??
пароль в базе 60 символов занимает.
Re: Шифрование паролей
В версии 3.6.2 не нашел такого файла
/lib/password_compat/lib/password.php
как пароль сгенерировать?
Re: Шифрование паролей
блин - просто в md5 можно сохранять без salt
вроде как написано что с версии 2.6 можно
а если обновлялись то все соли надо сохранить в config.php
почитайте комментарии из файла config-dist.php
// 10. SECRET PASSWORD SALT
//=========================================================================
// A site-wide password salt is no longer used in new installations.
// If upgrading from 2.6 or older, keep all existing salts in config.php file.
//
// $CFG->passwordsaltmain = 'a_very_long_random_string_of_characters#@6&*1';
//
// You may also have some alternative salts to allow migration from previously
// used salts.
//
// $CFG->passwordsaltalt1 = '';
// $CFG->passwordsaltalt2 = '';
// $CFG->passwordsaltalt3 = '';
// ....
// $CFG->passwordsaltalt19 = '';
// $CFG->passwordsaltalt20 = '';
Re: Шифрование паролей
а сам пароль в базе при авторизации автоматически обновляется до актуального шифрования
Re: Шифрование паролей
Получается первая половина пароля это salt (28 символов)
а вторая это md5 - 32 символа??
Зачем вам это? Раскодировать не получится. И никто не знает, какие символы к чему относятся - к соли или к паролю, потому что они все перемешиваются РНР-функцией str_shuffle
как пароль сгенерировать?
Использовать function generate_password из moodlelib.php
Re: Шифрование паролей
в последних версиях используется bcrypt. md5 с солью использовался уже в очень давних версиях. bcrypt при каждом шифровании генерирует для одинаковых паролей разные хэши, чтобы было невозможно вести взлом по базе хэшей