【しゃーにごろ】
SHA-256 とは?
最終更新:
💡 データから、一定の長さの指紋を計算する
データから256ビット(32バイト)のハッシュ値を計算する暗号学的ハッシュ関数。16進数で表すと64桁になる。同じデータの確認などに使うが、暗号化やSHA-256単体での安全なパスワード保存とは異なる。
指紋って、64文字のこと?
大文字と小文字でも、変わる?
ハッシュが同じなら、完全に同じ?
違う入力が同じ値になる衝突は、数学的にはあり得るよ。暗号学的ハッシュは、そのような組を見つけるのが難しい性質を目指す。同じ値を整合性確認の手がかりに使えるけれど、違うデータなら絶対に違うと保証する説明ではないんだ。
元のデータに戻せないなら、秘密になる?
ファイルを確認するときは、どう使う?
受け取ったファイルのハッシュを計算し、信頼できる経路で得た正しい値と比べるよ。攻撃者がファイルと掲載ハッシュの両方を書き換えられるなら、比較だけでは出所を保証できない。SHA-256で値を計算することと、誰が公開したデータかを確認することを分けよう。
まとめ:ざっくりこれだけ覚えればOK!
「SHA-256」って出てきたら「データの確認に使う、256ビットの指紋を計算する関数」と思えばだいたいOK!
📖 おまけ:英語の意味
「Secure Hash Algorithm / SHA-256」 = 256ビットの出力を持つハッシュアルゴリズム
💬 SHA-2の一種で、NISTのSecure Hash Standardに記載されているよ。256は出力のビット数を表す。