2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
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.
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.
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;
}
Tatsächlich gibt es viele Hashing-Methoden, beispielsweise Double Hashing. Aber eigentlich reicht nur ein Hash.