SHA1-Hash-Werte in MySQL speichern: Wie lang sollte das VARCHAR-Feld sein?
Beim Speichern des Ergebnisses eines SHA1-Hashs in MySQL In der Datenbank ist es wichtig, die geeignete Länge des VARCHAR-Felds zu bestimmen. Ein SHA1-Wert ist 160 Bit lang, daher sollte er in einem Feld gespeichert werden, das diese Länge aufnehmen kann.
Der Artikel spricht sich gegen die Verwendung eines VARCHAR-Felds zum Speichern von SHA1-Hashwerten aus, da dadurch ein zusätzliches Byte für die Länge verschwendet wird des Feldes fester Länge. Stattdessen wird die Verwendung eines BINARY(20)-Feldes empfohlen, das 20 Zeichen lang ist und den 160-Bit-SHA1-Wert ohne Platzverschwendung speichern kann.
Darüber hinaus schlägt der Artikel die Verwendung der UNHEX-Funktion zum Konvertieren des SHA1 vor Wandeln Sie den Wert in einen Binärwert um, bevor Sie ihn im BINARY-Feld speichern. Dies reduziert den Speicherbedarf im Vergleich zum Speichern des rohen SHA1-Werts.
Der Artikel schließt mit einem Vergleich des Speicherbedarfs für die Felder BINARY(20) und CHAR(40). Für eine Million Datensätze benötigt BINARY(20) bei Verwendung der InnoDB-Engine weniger Speicherplatz als CHAR(40).
Das obige ist der detaillierte Inhalt vonSpeichern von SHA1-Hashes in MySQL: BINARY(20) oder VARCHAR(40)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!