L'azienda ha recentemente utilizzato extmail+postfix come soluzione di invio. Nel sistema OA esistente, i dipendenti devono accedere con i loro account legali quando accedono all'OA, ma in questo modo sono necessari almeno due account e password indipendenti, il che ha un certo impatto sull'efficienza lavorativa.
Perciò, abbiamo deciso di modificare il meccanismo di login del sistema OA esistente per utilizzare le stesse informazioni di account e password di Extmail, il che ha il vantaggio che i dipendenti possono usarlo per accedere al sistema OA purché ricordino la password dell'email, il che può migliorare significativamente l'efficienza lavorativa.
Dopo aver capito, extmail usa mysql per salvare le informazioni dell'account email, e la password della tabella delle caselle salva le password criptate, ma extmail supporta più metodi di crittografia; per dettagli, puoi controllare le impostazioni dell'elemento SYS_CRYPT_TYPE nel file /var/www/extsuite/extman/webman.cf.
Il mio sistema usa la crittografia md5crypt, e il formato della password è: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXXXXX. Se la password originale non è più registrata nella tabella delle cassette postali, come posso verificare che l'utente abbia inserito correttamente la password?
Dopo aver ripetutamente verificato l'uso delle funzioni critto nel manuale PHP, ho scoperto che cripta supporta una varietà di metodi diversi di crittografia hash; per favore leggi in dettaglio l'uso specifico delle funzioni cripta nel manuale PHP.
md5crypt ha un salt, caratterizzato dal fatto che questo salt è registrato nel testo cifrato cifrato, cioè il simbolo $ e i caratteri che contiene, e il salt nel risultato di crittografia sopra è $1$k0Q4EA49$, quindi l'implementazione PHP dell'algoritmo di crittografia per la password originale è 123456 e il salt è $1$k0Q4EA49$ come segue:
<?php cripta eco ('123456', '$1$k0Q4EA49$' );
Output $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
Una volta che conosciamo questo principio, possiamo integrare la verifica delle informazioni dell'account della cassetta postale di extmail in qualsiasi nostro sistema.
Inoltre, il metodo di crittografia di /etc/shadow e md5-crypt di Linux è esattamente lo stesso del principio sopra: se vuoi cambiare forzatamente la password di un account in 123456 senza usare altri strumenti, puoi impostare il secondo campo dell'account corrispondente nel file /etc/shadow a $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr. |