ファイルのハッシュ値: 定義、求め方など
UB3/informatics/basics/hash
このページの最終更新日: 2024/09/30広告
概要: ハッシュ値とは
ハッシュ値 hash value とは、あるデータから特定のアルゴリズム (ハッシュ関数) によって生成される文字列のことをいう (1)。元データよりも短くなるため、要約値・ダイジェスト値と呼ばれることもある。
ハッシュ値の主な特徴は以下の通り (1)。
- 元のデータを復元することは不可能、または非常に困難。
- 元のデータとハッシュ関数が同じであれば、ハッシュ値も同じになる。
- ハッシュ値の長さは、元のデータ量によらず一定である。
- 異なるデータから同じハッシュ値は生じない。
上記の特徴を活かして、ハッシュ値はたとえば以下のように使われている (1)。
- データの同一性を検証する。たとえば、データを送信する前後にハッシュ値を計算し、それらが同一であれば、データは改竄されることなく送受信されたということになる。
- 元のデータから得られるハッシュ値を使うことで、高速な検索を可能にするシステムがある。
- パスワードをデータベースに保存する際に、ハッシュ値に変換する場合がある。
- Dropbox は、ファイルのハッシュ値をブラックリストと照合することで違法ファイルを見つけているようである。
Mac でハッシュ値を計算する
Mac shell では、いくつかの異なるコマンド (つまり異なるハッシュ関数) でハッシュ値を計算できる。
md5
MD5(file_path) = 409baa20127fc9ag6b090f5qe0710507
409... のような長いハッシュ値が返ってくる。
ファイルの内容を編集すると md5 hash は変わるが、
shasum
409baa20127fc9ag6b090f5qe0710507 file_path
返ってくる値と形式は違うが、md5 と同じようにハッシュ値が計算される。より厳密にいうと、これで計算されるのは SHA-1 ハッシュ値というもので、以下と同じ結果になる。
409baa20127fc9ag6b090f5qe0710507 file_path
このほか、SHA-2 ハッシュ値というものがあり、1 以外に、224, 256, 384, 512を指定可能。数字が大きいと、返ってくるハッシュ値も長くなるようだ。
広告
References
- キヤノン サイバーセキュリティ情報局 ハッシュ値. Link: Last access 2024/05/31.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。