Heim >Datenbank >MySQL-Tutorial >Welchen Datentyp und welche Länge sollte ich zum Speichern gehashter Passwörter verwenden?

Welchen Datentyp und welche Länge sollte ich zum Speichern gehashter Passwörter verwenden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-24 02:14:17610Durchsuche

What Data Type and Length Should I Use for Storing Hashed Passwords?

Datentyp für gehashte Passwörter und optimale Länge

Frage: Wie ermittelt man den geeigneten Datentyp und die geeignete Länge für gehashte Passwörter?

Bei der Implementierung von Passwort-Hashing ist es wichtig, einen geeigneten Datentyp und eine geeignete Länge zum Speichern der Hash-Werte zu wählen. Typischerweise erzeugen Hash-Funktionen ein Ergebnis mit einer festen Länge, aber Länge und Darstellung variieren je nach spezifischem Algorithmus.

Antwort: Die Auswahl des Datentyps und der Länge hängt vom Hashing-Algorithmus ab beschäftigt:

  • MD5: 128-Bit-Hash; kann als CHAR(32) oder BINARY(16) gespeichert werden.
  • SHA-1: 160-Bit-Hash; kann als CHAR(40) oder BINARY(20) gespeichert werden.
  • SHA-256: 256-Bit-Hash; kann als CHAR(64) oder BINARY(32) gespeichert werden.
  • SHA-512: 512-Bit-Hash; kann als CHAR(128) oder BINARY(64) gespeichert werden.
  • BCrypt: 448-Bit-Hash; erfordert möglicherweise CHAR(56), CHAR(60), CHAR(76), BINARY(56) oder BINARY(60).

Empfehlung:

NIST empfiehlt die Verwendung von SHA-256- oder höheren Hash-Funktionen für Interoperabilitätsanwendungen. Die alleinige Nutzung dieser Hash-Funktionen reicht jedoch für eine sichere Passwortspeicherung nicht aus.

Daher wird empfohlen, schlüsselstärkende Hash-Algorithmen wie Bcrypt oder Argon2i einzusetzen. Beispielsweise verwendet die PHP-Funktion „password_hash()“ standardmäßig Bcrypt und generiert einen 60-Zeichen-Hash. Um dies zu berücksichtigen, sollten Sie die Verwendung eines CHAR(60)-Datentyps für die Speicherung in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWelchen Datentyp und welche Länge sollte ich zum Speichern gehashter Passwörter verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn