ハッシュ関数/ハッシュ値

ブロックチェーンやビットコインについて調べているとよく出てくる言葉「ハッシュ関数」、「ハッシュ値」について調べた。

「ハッシュ関数」というのは、入力した値に対して、別の値が出力されるものを言う。出力された値のことを「ハッシュ値」と言う。またハッシュ関数は以下のような特徴を持つ。

  1. 入力が同じ場合、出力は必ず同じ値になる
  2. 入力が異なる場合、基本的に出力は異なる(※100%ではないらしい)
  3. 出力値(ハッシュ値)が分かっても、簡単に入力値を逆算することはできない
  4. 入力値の長さによらず、ハッシュ値は同じ長さになる

4.を補足すると、例えば入力値がab12のとき、ハッシュ値が4958736krieusheksdouというように20文字だとすると、入力値の文字下図が049r8ejhs4fのように変わってもハッシュ値の文字数は同じく94jgdk34u393j33ljlduのように20文字となる。

ハッシュ関数はNIST(米国標準技術局)によって標準化されているものがあり、自由に使うことができる。

例えばこちらのサイトではSHA-256方式でハッシュ値を生成することができる。

http://convertstring.com/ja/Hash/SHA256

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です