Technologieaustausch

Erklärung zum C-String-Hash (Hush).

2024-07-12

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


Was ist Hash

Hash, auch Hash genannt, ist die Grundlage der Kryptographie. Das Verständnis von Hash ist eine notwendige Voraussetzung für das Verständnis von Technologien wie digitalen Signaturen und verschlüsselter Kommunikation.

In C++ werden Hashes häufig zum Verschlüsseln von Zeichenfolgen verwendet, sodass verschiedene Zeichenfolgen unterschiedliche Werte haben.

Gleichzeitig sind Hashes auch irreversibel und werden daher häufig zur Verschlüsselung von Passwörtern verwendet.

Hash-Prinzip

Das Prinzip des Hashings ist eigentlich sehr einfach: Diese Zeichenfolge wird als Multibasiszahl behandelt und dann in eine Dezimalzahl umgewandelt. Das Ergebnis ist das Hash-Ergebnis.

Umsetzungsprozess

Wenn man das Prinzip des Hashing kennt, ist es sehr einfach, Code zu schreiben.

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

andere

Tatsächlich gibt es viele Hashing-Methoden, beispielsweise Double Hashing. Aber eigentlich reicht nur ein Hash.

üben

Eigentlich gibt es nur eine Frage