ハッシュ生成器
MD5・SHA-1・SHA-256・SHA-512ハッシュ生成
エラーが発生しました。
ハッシュ関数とは?
ハッシュ関数は任意長のデータを固定長の文字列(ダイジェスト)に変換する一方向関数です。MD5(128ビット)、SHA-1(160ビット)、SHA-256(256ビット)、SHA-512(512ビット)が代表的なアルゴリズムです。同一入力は常に同一出力を生成し、出力から入力を逆算することは計算上不可能です。
MD5とSHA-1が「壊れている」とはどういう意味か?
MD5とSHA-1には衝突攻撃(異なる入力から同じハッシュを生成する攻撃)が実証されており、セキュリティ目的には推奨されません。SHA-256とSHA-512は現在も安全で、パスワードハッシュ・ファイル整合性検証・デジタル署名に利用されます。ただしパスワードハッシュには、意図的に低速設計されたbcryptやArgon2の使用が推奨されます。
ファイル整合性検証
ダウンロードしたファイルのSHA-256チェックサムを公式に提供された値と比較することで、ファイルが改ざんされていないことを確認できます。Linux ISOやソフトウェアインストーラーでよく使われています。「アバランシェ効果」により、1ビットの変化でも完全に異なるハッシュ値になります。
パスワードにSHA-256を使ってはいけない理由
SHA-256は高速すぎることが問題で、現代のGPUは毎秒数十億のハッシュを計算できます。bcrypt・Argon2は意図的に低速で高メモリを要求するよう設計されています。また、ソルト(各パスワードに追加するランダム値)を組み合わせることで、同じパスワードでも異なるハッシュが生成されます。
ブロックチェーンとハッシュ
ビットコインのプルーフ・オブ・ワークでは、SHA-256の二重ハッシュの先頭に一定数のゼロが並ぶようなナンスを見つけることが要求されます。各ブロックには前ブロックのハッシュが含まれるため、過去のブロックを改ざんすると全ての後続ブロックのハッシュが変わり、即座に検出されます。