1. ホーム
  2. language-agnostic

[解決済み] ハッシュコードとチェックサム、その違いは?

2022-03-08 09:43:14

質問

私の理解では、ハッシュコードとチェックサムは似たようなもので、データブロックに対して計算される数値で、次のようなものです。 相対的に 一意である。

すなわち、2つのデータブロックが同じ数値のハッシュ/チェックサム値を生成する確率は、アプリケーションの目的上、無視できるほど低いのです。

ハッシュコードとチェックサムには重要な違いがあるのでしょうか。

どのように解決するのか?

と言うのは チェックサム は必ず a ハッシュコード . しかし、すべてのハッシュコードが良いチェックサムになるわけではありません。

チェックサムには特別な目的があります。 チェック データの完全性(中にはそれを超えて エラー訂正 チェックサムは計算が簡単で、多くの種類のデータの破損を検出することができます(例えば、1ビット、2ビット、3ビットの誤り)。

ハッシュコードは簡単に言うと 数学関数 というように、データをある値に対応付ける。データ構造(ハッシュテーブルなど)のインデックス付けの手段として使う場合、衝突確率が低いことが望ましい。