Нещодавно компанія використала extmail+postfix як рішення для розсилки. У існуючій системі OA працівники повинні входити через свої легальні акаунти під час входу в OA, але таким чином потрібні щонайменше два незалежні акаунти та паролі, що певною мірою впливає на ефективність роботи.
Тому ми вирішили змінити існуючий механізм входу в систему OA, щоб використовувати ті ж дані про обліковий запис і пароль, що й extmail, що має перевагу в тому, що працівники можуть використовувати його для входу в систему OA, якщо вони пам'ятатимуть пароль електронної пошти, що може суттєво підвищити ефективність роботи.
Після розуміння Extmail використовує mySQL для збереження інформації про електронний обліковий запис, а пароль таблиці поштових скриньок зберігає зашифровану інформацію про пароль, але extmail підтримує кілька методів шифрування. Для деталей ви можете перевірити налаштування SYS_CRYPT_TYPE елемента у файлі /var/www/extsuite/extman/webman.cf.
Моя система використовує шифрування md5crypt, а формат пароля: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXXXXX. Якщо оригінальний пароль більше не зафіксований у таблиці поштової скриньки, як я можу перевірити, що користувач правильно ввів пароль?
Після багаторазової перевірки використання функцій 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. |