Företaget använde nyligen extmail+postfix som en utskicks-lösning. I det befintliga OA-systemet måste anställda logga in med sina juridiska konton när de loggar in på OA, men på detta sätt krävs minst två oberoende konton och lösenord, vilket har en viss påverkan på arbetseffektiviteten.
Därför beslutade vi att modifiera den befintliga inloggningsmekanismen för OA-systemet så att den använder samma konto- och lösenordsinformation som extmail, vilket har fördelen att anställda kan logga in i OA-systemet så länge de minns e-postlösenordet, vilket kan förbättra arbetseffektiviteten avsevärt.
Efter att ha förstått det använder extmail mysql för att spara e-postkontoinformation, och lösenordet i mailboxtabellen sparar den krypterade lösenordsinformationen, men extmail stöder flera krypteringsmetoder, för detaljer kan du kontrollera inställningarna för det SYS_CRYPT_TYPE objektet i filen /var/www/extsuite/extman/webman.cf.
Mitt system använder md5crypt-kryptering, och lösenordsformatet är: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXX. Om det ursprungliga lösenordet inte längre finns registrerat i brevlådetabellen, hur kan jag verifiera att användaren angav lösenordet korrekt?
Efter att upprepade gånger ha kontrollerat användningen av kryptfunktioner i PHP-manualen upptäckte jag att kryptor stöder en mängd olika hashkrypteringsmetoder, vänligen läs den specifika användningen av kryptfunktioner i PHP-manualen i detalj.
MD5Crypt har ett salt, vilket kännetecknas av att detta salt registreras i den krypterade chiffertexten, det vill säga $-symbolen och tecknen den innehåller, och saltet i ovanstående krypteringsresultat är $1$k0Q4EA49$, så PHP-implementeringen av krypteringsalgoritmen för det ursprungliga lösenordet är 123456 och saltet är $1$k0Q4EA49$ enligt följande:
<?php echo crypt('123456', '$1$k0Q4EA49$' );
Utgång $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
När vi väl känner till denna princip kan vi integrera extmails verifiering av postkassakontoinformation i vilket av våra system som helst.
Dessutom är krypteringsmetoden för linuxs /etc/shadow och grubs md5-crypt exakt densamma som ovanstående princip; om du vill tvinga lösenordet på ett konto till 123456 utan att använda andra verktyg kan du ställa in det andra fältet i motsvarande konto i /etc/shadow-filen till $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr. |