ハッシュ関数 (ハッシュかんすう、hash function) とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、又は、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことをハッシュ値または単にハッシュという。 ハッシュ関数は主に検索の高速化やデータ比較処理の高速化、さらには改竄の検出に使われる。例えば、データベース内の項目を探したり、大きなファイル内で重複しているレコードや似ているレコードを検出したり、核酸の並びから類似する配列を探したりといった場合に利用できる。 ハッシュ関数の入力を「キー (key)」と呼ぶ。ハッシュ関数は2つ以上のキーに同じハッシュ値をマッピングすることがある。多くの場合、このような衝突の発生は最小限に抑えるのが望ましい。したがって、ハッシュ関数はキーとハッシュ値をマッピングする際に可能な限り一様になるようにしなければならない。用途によっては、他の特性も要求されることがある。ハッシュ関数の考え方は1950年代に遡るが[1]、ハッシュ関数の設計の改善は今でも盛んに研究されている。
ハッシュ関数とは、与えられた原文から固定長の疑似乱数を生成する演算手法。生成した値は「ハッシュ値」と呼ばれる。 「要約関数」「メッセージダイジェスト」とも呼ばれる。 コスメ 口コミ 低金利キャッシング fx チャート オールドドメイン販売 通信回線を通じてデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較すれば、データが通信途中で改ざんされていないか調べることができる。 不可逆な一方向関数を含むため、ハッシュ値から原文を再現することはできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。 通信の暗号化の補助や、ユーザ認証やデジタル署名などに応用されている。
ハッシュ関数とは、不定長の入力から固定長のデータを出力するもので、出力から入力のデータを推測できないこと、同じ出力を持つ入力データを容易に作成できないこと、同じ出力データとなる可能性が非常に低いことが要件となっています。 ハッシュ関数の利用目的はデータの同一性の検証の高速化にあります。例えば1Mバイトのデータが二つあり、これが同じかどうかを検証するときでも、お互いが十分信頼できるハッシュ関数によるハッシュ値を持っていれば、そのたかだか数十バイトを比較するだけで同一性を検証することが可能になります。 これを応用したのが電子署名です。電子署名に使用される公開鍵暗号方式は非常に低速なので、署名対象ドキュメントを全部暗号化していたのでは遅いうえにサイズも大きくて実用になりません。そこで、ハッシュ関数でハッシュ値を生成し、これを暗号化することでドキュメントの署名としているわけです。 システム開発