L’entreprise a récemment utilisé extmail+postfix comme solution de courrier. Dans le système OA existant, les employés doivent se connecter avec leur compte légal lors de leur connexion à OA, mais de cette façon, au moins deux comptes et mots de passe indépendants sont requis, ce qui a un certain impact sur l’efficacité du travail.
Nous avons donc décidé de modifier le mécanisme de connexion existant du système OA pour utiliser les mêmes informations de compte et de mot de passe que Extmail, ce qui a l’avantage que les employés peuvent utiliser pour se connecter au système OA tant qu’ils se souviennent du mot de passe email, ce qui peut considérablement améliorer l’efficacité au travail.
Après avoir compris, extmail utilise mysql pour enregistrer les informations du compte email, et le mot de passe de la table des boîtes aux lettres sauvegarde les informations de mot de passe chiffrées, mais extmail prend en charge plusieurs méthodes de chiffrement ; pour plus de détails, vous pouvez vérifier les paramètres de l’élément SYS_CRYPT_TYPE dans le fichier /var/www/extsuite/extman/webman.cf.
Mon système utilise le chiffrement md5crypt, et le format de mot de passe est : $1$k0Q4EA49$XXXXXXXXXXXXXXXXXXXXX. Si le mot de passe original n’est plus enregistré dans la table des boîtes aux lettres, comment puis-je vérifier que l’utilisateur a saisi correctement le mot de passe ?
Après avoir vérifié à plusieurs reprises l’utilisation des fonctions de cryptage dans le manuel PHP, j’ai constaté que le crypt prend en charge une variété de méthodes de chiffrement par hachage différentes, veuillez lire en détail l’utilisation spécifique des fonctions de cryptage dans le manuel PHP.
md5crypt possède un sel, caractérisé par le fait que ce sel est enregistré dans le texte chiffré, c’est-à-dire le symbole $ et les caractères qu’il contient, et le sel dans le résultat de chiffrement ci-dessus est $1$k0Q4EA49$, donc l’implémentation PHP de l’algorithme de chiffrement pour le mot de passe original est 123456 et le sel est $1$k0Q4EA49$ comme suit :
< ?php crypte d’écho ('123456', '$1$k0Q4EA49$' ) ;
Output $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
Une fois que nous connaissons ce principe, nous pouvons intégrer la vérification des informations des comptes de boîte aux lettres d’Extmail dans n’importe lequel de nos systèmes.
De plus, la méthode de chiffrement du chiffre md5 de Linux /etc/shadow et grub est exactement la même que le principe ci-dessus : si vous voulez changer de force le mot de passe d’un compte en 123456 sans utiliser d’autres outils, vous pouvez définir le second champ du compte correspondant dans le fichier /etc/shadow à $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr. |