技術共有

C文字列ハッシュ(ハッシュ)の説明

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
  • 2
  • 3
  • 4
  • 5
  • 6

他の

実際には、ダブルハッシュなど、さまざまなハッシュ方法があります。しかし、実際にはハッシュは 1 つだけで十分です。

練習する

実は質問が一つだけあるんです