Bcrypt-Hash-Passwortspeicherung: Überlegungen zu Spaltentyp und -länge
Beim Speichern von Bcrypt-Hash-Passwörtern in einer Datenbank ist es wichtig, eine geeignete Spalte auszuwählen Typ und Länge, um Datenintegrität und -sicherheit zu gewährleisten.
Spalte Typ
Für bcrypt-gehashte Passwörter wird der Spaltentyp BINARY(60) oder CHAR(60) BINARY empfohlen, um eine ordnungsgemäße Speicherung des Hashs sicherzustellen Werte. Dies liegt daran, dass Bcrypt Hashes mit fester Länge erzeugt, die typischerweise 60 Bytes umfassen.
Hash-Länge
Bcrypt-Hashes sind „gestreckt“, was einen erheblichen Rechenaufwand für die Generierung erfordert. Dadurch sind Bcrypt-Hashes immer gleich lang. Die Salt- und Hash-Ausgabe bilden zusammen einen 53-stelligen Base-64-codierten Wert, was zu einer Hash-Länge von 60 Bytes führt.
Begründung
Der Bcrypt-Algorithmus verwendet einen 128-Bit-Salt und einen 186-Bit-Hash, die Base-64-kodiert sind Erstellen Sie eine Gesamtlänge von 53 Zeichen. Das Hinzufügen der Anfangskennung („$2a$“), des Kostenparameters (normalerweise zweistellig) und des abschließenden Trennzeichens („$“) ergibt eine Gesamtlänge von 60 Bytes.
Daher Beim Speichern von Bcrypt-Hash-Passwörtern in einer Datenbank ist es unbedingt erforderlich, einen Spaltentyp zu verwenden, der die feste Länge von 60 Bytes aufnehmen kann. Dies gewährleistet eine genaue Speicherung und Verarbeitung der gehashten Passwörter und gewährleistet so die Datenintegrität und -sicherheit.
Das obige ist der detaillierte Inhalt vonWelchen Spaltentyp und welche Spaltenlänge sollte ich zum Speichern von Bcrypt-Hash-Passwörtern verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!