Недавно компания использовала extmail+postfix как решение для рассылки. В существующей системе OA сотрудники должны входить с помощью своих легальных аккаунтов при входе, но таким образом требуется как минимум два независимых аккаунта и пароля, что влияет на эффективность работы.
Поэтому мы решили изменить существующий механизм входа в систему OA, чтобы использовать те же данные аккаунта и пароля, что и extmail, что имеет преимущество в том, что сотрудники могут использовать его для входа в систему OA, если они помнят пароль электронной почты, что значительно повышает эффективность работы.
После понимания extmail использует mySQL для сохранения информации об электронной почте, а пароль таблицы почтового ящика сохраняет зашифрованную информацию о пароле, но extmail поддерживает несколько способов шифрования. Для подробностей вы можете проверить настройки SYS_CRYPT_TYPE элемента в файле /var/www/extsuite/extman/webman.cf.
Моя система использует шифрование md5crypt, а формат пароля: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXX. Если исходный пароль больше не зафиксирован в таблице почтовых ящиков, как я могу проверить, правильно ли пользователь ввёл пароль?
После многократной проверки использования функций crypt в руководстве по PHP я обнаружил, что Crypt поддерживает различные методы хэш-шифрования, пожалуйста, подробнее прочитайте конкретное применение функций crypt в руководстве по PHP.
В MD5Crypt есть соль, которая характеризуется тем, что эта соль записывается в зашифрованном шифротексте, то есть в символе $ и содержащихся в нём символах, а соль в вышеуказанном результате шифрования составляет $1$k0Q4EA49$, поэтому PHP-реализация алгоритма шифрования исходного пароля равна 123456, а соль — $1$k0Q4EA49$, следующим образом:
<?php Echo Crypt ('123456', '$1$k0Q4EA49$' );
Вывод $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
Как только мы узнаем этот принцип, мы сможем интегрировать проверку информации по почтовому ящике extmail в любую из наших систем.
Кроме того, метод шифрования linux /etc/shadow и md5-crypt в grub точно такой же, как и вышеуказанный принцип: если вы хотите принудительно изменить пароль аккаунта на 123456 без использования других инструментов, вы можете установить второе поле соответствующего аккаунта в файле /etc/shadow на $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr. |