Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengapa checksum() mengembalikan nilai yang sama untuk string yang berbeda

SQL CHECKSUM() dan MD5 adalah Fungsi hash . Hashing adalah algoritma satu arah yang dapat mengambil sejumlah karakter/byte dan mengembalikan sejumlah karakter/byte yang tetap.

Artinya tidak peduli apakah input Anda adalah 1 karakter atau buku lengkap (War and Peace), Anda akan mendapatkan respons yang sama panjangnya. Jadi inputnya adalah jumlah kombinasi yang tidak terbatas sedangkan outputnya terbatas. Berdasarkan itu tidak dapat dihindari untuk mendapatkan Hash yang sama untuk nilai yang berbeda. Ini disebut Tabrakan hash . Algoritme Hash yang baik mencoba mengurangi hal ini agar sulit menemukan nilai yang bertabrakan ini.

Tapi cukup teori tentang hashing. Inilah jawaban yang tepat untuk pertanyaan Anda. Apa itu masalah dengan CHECKSUM() ?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengembalikan Daftar Tabel &Tampilan di SQL Server menggunakan T-SQL (sp_tables)

  2. Tidak dapat mengakses tabel sementara dari dalam suatu fungsi

  3. SQL dan beberapa pernyataan dalam prosedur tersimpan

  4. Buat SQL INSERT Script dengan nilai yang dikumpulkan dari tabel

  5. Meratakan tabel 1 baris menjadi tabel pasangan nilai kunci