256 читали · 6 лет назад
MD5 хэширование в PHP
В этой статье я решил затронуть тему MD5 хэширования, так как тема эта очень простая, интересная и очень-очень важная. Самый простой пример использования MD5 хэша - это шифрование паролей пользователей. Ведь не секрет, что если хранить пароли в открытом виде в базе данных, то при её утере, все пароли пользователей будут украдены, чего не имеет никакого морального права допустить администратор. И вот тут на помощь приходит функция хэширования в PHP. Функция MD5 хэширования в PHP называется md5()...
8 месяцев назад
Изменение метода шифрования паролей в roundcube Для того что бы обезопасить свою компанию и себя в целом как админа, лучше изменить метод хеширования паролей на более безопасный. По умолчанию в Roundcube используется MD5 Меняем настройки в postfixadmin Нужно заменить метод шифрования в админке что бы по умолчанию уже создавались пароли со сложным хешем Открываем конфиг nano /var/www/html/postfixadmin/config.inc.php Находим строки и комментируем их $CONF['encrypt'] = 'md5crypt' $CONF['authlib_default_flavor'] = 'md5raw'; Меняем на вот эти $CONF['encrypt'] = 'php_crypt:SHA512:5000'; $CONF['authlib_default_flavor'] = 'SHA'; Сохраняемся и переходим дальше Меняем настройки в dovecot Открываем конфиг /etc/dovecot/dovecot-sql.conf.ext Находим строку default_pass_scheme = MD5 Меняем на эту default_pass_scheme = SHA512-CRYPT Открываем конфиг /etc/dovecot/dovecot-dict-auth.conf.ext Находим строку default_pass_scheme = MD5 Меняем на эту default_pass_scheme = SHA512-CRYPT Открываем конфиг /etc/dovecot/conf.d/auth-passwdfile.conf.ext Находим строку args = scheme=MD5 username_format=%u /etc/dovecot/users Меняем на эту args = scheme=SHA512-CRYPT username_format=%u /etc/dovecot/users Меняем настройки в roundcube Открываем конфиг /var/www/html/webmail_test/config/config.inc.php Находим строку $config['password_hash'] = 'md5'; Меняем на эту $config['password_hash'] = 'sha512'; Открываем конфиг /var/www/html/webmail_test/plugins/password/config.inc.php И вносим туда такие настройки <?php $config['password_driver'] = 'sql'; $config['password_dovecotpw'] = '/usr/bin/doveadm pw'; // for dovecot-2.x $config['password_db_dsn'] = 'mysql://ВАШ ПОЛЬЗОВАТЕЛЬ:ВАШ ПАРОЛЬ@localhost/ВАША БАЗА'; $config['password_query'] = 'UPDATE mailbox SET password=CONCAT("{CRYPT}", ENCRYPT(%p, CONCAT("$6$", SUBSTRING(SHA1(RAND()), 1, 16)))) WHERE username=%u'; Перезагружаем сервисы systemctl restart apache2 dovecot Теперь если вы поменяете пароль, то в базе он пропишется сложным хешем