Berbagi teknologi

Penjelasan hash string C (diam).

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Apa itu hash

Hash, juga dikenal sebagai hash, adalah dasar dari kriptografi. Memahami hash adalah prasyarat yang diperlukan untuk memahami teknologi seperti tanda tangan digital dan komunikasi terenkripsi.

Dalam C++, hash sering digunakan untuk mengenkripsi string sehingga string yang berbeda memiliki nilai yang berbeda.

Pada saat yang sama, hash juga tidak dapat diubah, sehingga sering digunakan untuk mengenkripsi kata sandi.

Prinsip hash

Prinsip hashing sebenarnya sangat sederhana, yaitu memperlakukan string ini sebagai bilangan multi-basis, dan kemudian mengubah bilangan tersebut menjadi bilangan desimal.

Proses implementasi

Mengetahui prinsip hashing, menulis kode sangatlah sederhana.

const int base=131;//这里是将字符串看成的进制
int hash(string str) {
	int ans=0;
	for(int i=0;i<str.size();++i) ans=ans*base+(int)str[i];
	return ans;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

lainnya

Sebenarnya ada banyak metode hashing, seperti double hashing. Namun sebenarnya satu hash saja sudah cukup.

praktik

Sebenarnya hanya ada satu pertanyaan