私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ハッシュ (ハッシュとも呼ばれます) は暗号化の基礎です。ハッシュを理解することは、デジタル署名や暗号化通信などのテクノロジを理解するために必要な前提条件です。
C++ では、異なる文字列が異なる値を持つように、文字列を暗号化するためにハッシュがよく使用されます。
同時に、ハッシュは不可逆性でもあるため、パスワードの暗号化によく使用されます。
ハッシュの原理は実際には非常に単純で、この文字列を多進数として扱い、その結果がハッシュ結果となります。
ハッシュの原理を理解していれば、コードを書くのは非常に簡単です。
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 つだけで十分です。