Selskapet brukte nylig extmail+postfix som en utsendelsesløsning. I det eksisterende OA-systemet må ansatte logge inn med sine juridiske kontoer når de logger inn på OA, men på denne måten kreves minst to uavhengige kontoer og passord, noe som har en viss innvirkning på arbeidseffektiviteten.
Derfor bestemte vi oss for å endre den eksisterende innloggingsmekanismen for OA-systemet til å bruke samme konto- og passordinformasjon som Extmail, noe som har fordelen at ansatte kan bruke den til å logge inn i OA-systemet så lenge de husker e-postpassordet, noe som kan forbedre arbeidseffektiviteten betydelig.
Etter å ha forstått, bruker extmail mysql for å lagre e-postkontoinformasjon, og passordet til postbokstabellen lagrer den krypterte passordinformasjonen, men extmail støtter flere krypteringsmetoder. For detaljer kan du sjekke innstillingene til det SYS_CRYPT_TYPE elementet i filen /var/www/extsuite/extman/webman.cf.
Systemet mitt bruker md5crypt-kryptering, og passordformatet er: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXX. Hvis det opprinnelige passordet ikke lenger er registrert i postbokstabellen, hvordan kan jeg verifisere at brukeren har skrevet inn passordet korrekt?
Etter gjentatte ganger å ha sjekket bruken av kryptfunksjoner i PHP-manualen, fant jeg ut at krypt støtter en rekke forskjellige hash-krypteringsmetoder, vennligst les den spesifikke bruken av kryptfunksjoner i PHP-manualen i detalj.
MD5Crypt har et salt, som kjennetegnes ved at dette saltet er registrert i den krypterte chifferteksten, det vil si $-symbolet og tegnene det inneholder, og saltet i det ovennevnte krypteringsresultatet er $1$k0Q4EA49$, så PHP-implementeringen av krypteringsalgoritmen for det opprinnelige passordet er 123456 og saltet er $1$k0Q4EA49$ som følger:
<?php echo crypt('123456', '$1$k0Q4EA49$' );
Utdata $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
Når vi kjenner dette prinsippet, kan vi integrere Extmails verifisering av postkasseinformasjon i alle våre systemer.
I tillegg er krypteringsmetoden for linuxs /etc/shadow og grubs md5-crypt nøyaktig den samme som prinsippet ovenfor; hvis du vil tvinge passordet til en konto til 123456 uten å bruke andre verktøy, kan du sette det andre feltet i den tilsvarende kontoen i /etc/shadow-filen til $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr. |