Welchen Datentyp und welche Länge soll das Hash-Passwortfeld haben?

Ich bin mir nicht sicher, wie Passwort-Hashing funktioniert (ich werde es später implementieren), aber ich muss jetzt ein Datenbankschema erstellen.

I'm Denken der Begrenzung von Passwörtern auf 4-20 Zeichen, aber wie ich verstehe, nach der Verschlüsselung Hash-String wird von unterschiedlicher Länge sein.

Also, wie diese Passwörter in der Datenbank zu speichern?

Vielleicht finden Sie diesen Wikipedia-Artikel über Salting sinnvoll. Die Idee ist, ein bestimmtes Bit an Daten hinzuzufügen, um den Hash-Wert zu randomisieren; dies schützt Ihre Kennwörter vor Wörterbuchangriffen, falls jemand unbefugten Zugriff auf die Kennwort-Hashes erhält.

Kommentare (3)

Als Zeichenkette fester Länge (VARCHAR(n) oder wie immer MySQL sie nennt). Ein Hash hat immer eine feste Länge von z.B. 12 Zeichen (je nach dem verwendeten Hash-Algorithmus). Ein 20-Zeichen-Kennwort würde also auf einen 12-Zeichen-Hash reduziert werden, und ein 4-Zeichen-Kennwort würde ebenfalls einen 12-Zeichen-Hash ergeben.

Kommentare (1)

Ich habe immer getestet, um die MAX-Zeichenlänge einer verschlüsselten Zeichenfolge zu ermitteln und diese als Zeichenlänge eines VARCHAR-Typs festzulegen. Je nachdem, wie viele Datensätze Sie haben werden, könnte dies der Datenbankgröße wirklich helfen.

Kommentare (0)