Domanda

Ho implementato il mio server di posta come dettato qui .

Funziona perfettamente bene. I miei ruota intorno Curiousity entrare gli utenti nel database e li autenticazione

Esecuzione:

INSERT INTO users (email, password) VALUES ('sales@example.com', ENCRYPT('password'));

più volte daranno un hash differente per la password cifrata come utilizzando un sale casuale. Cioè Se entro sales@example.com tre volte con la stessa password ogni hash è diverso ...

La mia domanda a questo è, come è possibile che il server Postfix può effettivamente autenticare la password quando un utente accede tramite un client di posta?

Ci non è alcun problema per dire come funziona bene, più giusto per soddisfare la mia curiosità in modo da poter comprendere appieno che cosa sta succedendo dietro le quinte per autenticare correttamente la password cifrata.

È stato utile?

Soluzione

Leggi l'uomo cripta:. Ritorna il sale nei primi due caratteri del valore di ritorno

Quindi il sale non è persa, è possibile confrontare la stringa crittografata al risultato di crypt ( 'pass', $ first_two_chars_of_encrypted_value).

Altri suggerimenti

Postfix confronta la password dal database a una nuova crittografare fatto con il sale (password da db).

Per crittografare:

update user set password = ENCRYPT('1234') where id = 1

per controllare la password:

SELECT u.* FROM user u where u.email ='admin@dominio.com' 
and ENCRYPT('1234', u.password) = u.password

È necessario utilizzare ENCRYPT ( 'pass', 'sale') per forzare un sale, altrimenti il ??sale è perso per sempre e non avete modo di recuperarlo. Funzione Abbastanza inutile senza di essa. E 'un terribile funzione per l'uso, però, perché la sicurezza è talmente minima; Usa password () o OLD_PASSWORD () al posto.

ENCRYPT () utilizza la cripta sistema (), che può utilizzare tutti o solo i primi 8 caratteri, deve essere stampabili 7-bit ASCII, utilizza generalmente 1 giro di un hash basato su DES, ed è completamente portabile. Evitarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top