Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Perbedaan antara BINARY(16) dan CHAR(32) saat menyimpan MD5 di database

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cegah eksploitasi tombol kembali? PHP

  2. ID baris Terakhir Diperbarui di Mysql

  3. SQL Query:urutkan berdasarkan panjang karakter?

  4. json_encode mengubah array menjadi objek

  5. node.js kesalahan mysql:ECONNREFUSED