Obecnie tracisz połowę sumy kontrolnej używając BINARY(16)
. Kiedy przechowujesz sumę kontrolną MD5 w BINARY(16)
powinieneś przechowywać je jako dane binarne, nie zakodowane w systemie szesnastkowym. To znaczy:
INSERT INTO test (md5_binary) VALUES(UNHEX(md5("one!")));
Możesz użyć funkcji HEX, aby ponownie zakodować ją do postaci szesnastkowej, jeśli chcesz porównać ją z inną sumą kontrolną:
SELECT HEX(md5_binary) FROM test;
Zaletą używania BINARY do przechowywania sumy kontrolnej zamiast tekstu szesnastkowego jest to, że potrzebna jest połowa pamięci.