Postfix + MySQL ENCRYPT(), Wie macht Sie das Kennwort überprüfen mit Zufall Salz?
Habe ich realisiert meine E-mail-server diktiert hier.
Funktioniert es einwandfrei. Meine Neugier dreht sich um die Eingabe der Benutzer in die Datenbank ein und authentifizieren Sie
Ausgeführt:
INSERT INTO users (email, password) VALUES ('[email protected]', ENCRYPT('password'));
Mehrere Male ein anderes hash für das verschlüsselte Passwort, wie seine Verwendung von einem zufälligen salt. I. e. Wenn ich eingeben [email protected] drei mal mit dem gleichen Kennwort bei jedem hash ist anders...
Meine Frage dazu ist, wie kommt es, dass der Postfix-server kann eigentlich Authentifizierung, das Passwort bei der Anmeldung eines Benutzers über einen E-mail-client?
Gibt es kein problem pro sagen, wie es funktioniert, mehr nur um meine Neugierde zu befriedigen, so kann ich voll verstehen, was Los ist hinter den kulissen richtig zu authentifizieren, die das verschlüsselte Kennwort.
InformationsquelleAutor CogitoErgoSum | 2011-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Mann crypt: es gibt das Salz in die ersten zwei chars mit der return-Wert.
Damit das Salz nicht verloren haben, können Sie vergleichen die verschlüsselte Zeichenfolge, um das Ergebnis von crypt( 'Passwort', $first_two_chars_of_encrypted_value ).
InformationsquelleAutor man
Postfix vergleicht das Passwort aus der Datenbank in eine neue zu verschlüsseln erfolgt mit dem Salz(das Passwort aus der db).
verschlüsseln:
überprüfen, Kennwort:
InformationsquelleAutor Eduardo Nobre
Müssen Sie ENCRYPT('Passwort','salt') zu zwingen, ein Salz, da sonst das Salz ist für immer verloren und Sie haben keine Möglichkeit, ihn wiederherzustellen. Ziemlich sinnlos ohne Sie funktionieren. Es ist eine schreckliche Funktion zu verwenden, obwohl, weil die Sicherheit ist so minimal; use PASSWORD() oder OLD_PASSWORD() statt.
ENCRYPT() verwendet das system die crypt(), welche alle oder nur die ersten 8 Zeichen, muss druckbare 7-bit-ascii, verwendet in der Regel 1 Runde des DES-basierenden hash, und ist völlig unportabel. Vermeiden Sie es.
InformationsquelleAutor SilverbackNet