ハッシュ関数 (ハッシュかんすう、英: hash function) あるいは要約関数とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、または、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことを要約値やハッシュ値または単にハッシュという。 さすが wikipedia、難しいですね。箇条書きにまとめてみます。 どのような長さの文字でも、ハッシュ関数を通すと固定長の文字列 (ハッシュ値) が出力される ハッシュ値は指定されたハッシュアルゴリズム (ルール) に従って出力されるため、同じ文字列とアルゴリズムであれば同じハッシュ値が得られる 文字列 (情報) が 1 文字 (バイト) でも変わると、ハッシュ値は大きく変わる 特定のハッシュ値を出力するメッセージを見つけ出すのは非常に困難 (弱衝突耐性) ハッシュ値が一致する 2 つメッセージを見つけ出すのは
![ハッシュ関数とハッシュアルゴリズム](https://cdn-ak-scissors.b.st-hatena.com/image/square/3b7bcd1d48b2ffa3d76ec564115258ab923589f3/height=288;version=1;width=512/https%3A%2F%2Fmicrosoftou.com%2Fblog%2Fimages%2F2018%2F06%2F006-eyecatch-n.jpg)