Derzeit verlieren Sie die Hälfte der Prüfsumme, wenn Sie BINARY(16)
verwenden . Wenn Sie eine MD5-Prüfsumme in BINARY(16)
speichern Sie sollten es als Binärdaten speichern, nicht hexadezimal kodiert. Das heißt:
INSERT INTO test (md5_binary) VALUES(UNHEX(md5("one!")));
Sie können die HEX-Funktion verwenden, um es wieder in Hex zu codieren, wenn Sie es mit einer anderen Prüfsumme vergleichen möchten:
SELECT HEX(md5_binary) FROM test;
Der Vorteil der Verwendung von BINARY zum Speichern der Prüfsumme anstelle von hexadezimalem Text besteht darin, dass die Hälfte des Speicherplatzes benötigt wird.