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
Freigeben: 2024-12-24 02:14:17
Original
627 Leute haben es durchsucht

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage