Шифрование паролей

Re: Шифрование паролей

от Vadim Tabunshchik -
Количество ответов: 5
Изображение пользователя Developers
Не могу разобраться как шифруются пароли.

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)

В ответ на Vadim Tabunshchik

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: Шифрование паролей

от Vadim Tabunshchik -
Изображение пользователя Developers
Получается первая половина пароля это salt (28 символов)
а вторая это md5 - 32 символа??

Зачем вам это? Раскодировать не получится. И никто не знает, какие символы к чему относятся - к соли или к паролю, потому что они все перемешиваются РНР-функцией str_shuffle

как пароль сгенерировать?

Использовать function generate_password из moodlelib.php