Saat ini Anda kehilangan setengah dari checksum saat menggunakan BINARY(16)
. Saat Anda menyimpan checksum MD5 di BINARY(16)
Anda harus menyimpannya sebagai data biner, bukan dikodekan dalam heksadesimal. Yaitu:
INSERT INTO test (md5_binary) VALUES(UNHEX(md5("one!")));
Anda dapat menggunakan fungsi HEX untuk mengkodekannya menjadi hex lagi jika Anda ingin membandingkannya dengan checksum lain:
SELECT HEX(md5_binary) FROM test;
Manfaat menggunakan BINARY untuk menyimpan checksum daripada teks heksadesimal adalah bahwa setengah dari penyimpanan diperlukan.