Was ist "salt" in Bezug auf MYSQL sha1?

8

Was ist "salt" in Bezug auf MYSQL sha1? Ich habe keine Ahnung, was Salz ist, wenn es um sha1 Passwortverschlüsselungen geht? Kann mir bitte jemand erklären, was es ist?

    
Noah R 04.12.2010, 03:05
quelle

3 Antworten

14

Ein salt ist ein Wert, der zu einem Passwort (oder einem anderen geheimen Schlüssel) hinzugefügt wird, das Sie in einer Richtung hashen möchten. Dies bedeutet, dass es sich vor, nach oder irgendwo innerhalb des Kennworts befinden kann, solange seine Position und sein Wert für ein gegebenes Kennwort konsistent sind.

Damit werden Wörterbuchangriffe - im Grunde genommen Wörterbücher mit gewöhnlichen Passwörtern, die ohne Salz vorgehackt wurden - von der Verwendung eines Einwegpassworts abgeschwächt, solange der Angreifer den Hash nicht kennt. Wenn jedes Passwort einen anderen Hashwert hat, ist es für einen Angreifer sehr schwierig, ein Wörterbuch zu erstellen, das für das Crawlen Ihrer Passwörter optimiert ist (sie benötigen ein Wörterbuch für jedes einzelne Salz und müssen auch wissen, wo das Salz in jedem Passwort platziert wurde) ).

Damit all dies anwendbar ist, muss ein Angreifer in erster Linie die Hashes Ihrer Passwörter haben. Dies hat nichts damit zu tun, Passwörter anzugreifen, indem man sie durch Eingabeaufforderungen rät.

In Bezug auf MySQL, speziell wenn Sie beim Hashing eines Passworts ein Salz angeben, stellen Sie sicher, dass Sie das Salz irgendwo notieren. Wenn ein Benutzer die Authentifizierung versucht, kombinieren Sie diesen aufgezeichneten Salt-Wert mit dem Passwort (während des Aufrufs von crypt zum Beispiel) und wenn der resultierende Hash übereinstimmt, dann haben sie das korrekte Passwort eingegeben. (Beachten Sie, dass zu keinem Zeitpunkt das Hashing eines Passworts umgekehrt wird; also in einer Richtung.)

    
cfeduke 04.12.2010, 03:17
quelle
9

salt ist nichts anderes als eine Zeichenfolge, die Sie an das Kennwort anhängen, entweder als Konstante oder durch einen Algorithmus

was es für jeden erschwert, der gegen Ihre Sicherheit verstoßen hat und Zugriff auf Ihr gespeichertes Passwort hat, was es im Gegenzug für ihn nahezu unmöglich macht, Rainbow-Wörterbücher zu verwenden, um das echte Passwort zu entsperren, was aus Sicht eines Hackers kann nützlich sein, da viele Leute das selbe Passwort in vielen verschiedenen Seiten verwenden.

%Vor%

So könntest du grundsätzlich ein Passwort speichern

    
Breezer 04.12.2010 03:07
quelle
4

Vor dem Hashing wird ein Klartext an den Klartext angehängt (oder umgekehrt), um Dictionary-Lookups teurer zu machen.

    
Ignacio Vazquez-Abrams 04.12.2010 03:06
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '325908',
    'url' => 'what-is-salt-when-relating-to-mysql-sha1',
];

$_SESSION = [
    '__flash' => [],
];