文字列ハッシュ一括計算・比較|MD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2id

1つの文字列を入力するだけでMD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2idのハッシュ値を同時に計算し、横並びで比較できます。計算はすべてブラウザ内で完結し、入力内容はサーバーに送信されません。

一括ハッシュ計算とは

このツールは、1つの文字列を入力するだけでMD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2idという7種類のハッシュアルゴリズムの計算結果を同時に表示し、横並びで比較できるツールです。アルゴリズムごとにページを切り替えて同じ文字列を何度も入力し直す手間がなく、出力の文字数や形式の違いを一目で確認できます。

計算はすべてブラウザ内のJavaScript/WebAssemblyで完結し、入力した文字列やハッシュ値がサーバーに送信されることはありません。BCryptとArgon2idはランダムなソルトを使うため実行のたびに結果が変わりますが、これは仕様どおりの正しい動作です。

一括ハッシュ計算の使い方

  1. 文字列を入力する ハッシュ化したい文字列を入力欄に入力します。
  2. 「一括計算する」をクリックする ボタンを押すと7種類のアルゴリズムの計算が同時に実行されます。
  3. 結果を見比べる アルゴリズムごとの出力を表で確認し、長さや形式の違いを比較します。
  4. 必要なハッシュ値をコピーする 各行のコピーボタンでハッシュ値をクリップボードに保存できます。

使いこなすためのヒント

  • アルゴリズムを1つずつ切り替えて確認する手間なく、同じ入力に対する7種類のハッシュ値を一度に見比べられます。
  • MD5・SHA-1は高速ですが衝突耐性が低く、現在はパスワード保存用途には非推奨です。ファイルの改ざん検知など軽量な用途に限定してください。
  • パスワード保存用途では、ソルト付きで計算コストを調整できるBCryptかArgon2idを使うのが現在の推奨です。
  • 各ハッシュ値の右のボタンでワンクリックコピーできるので、複数アルゴリズムでの動作確認や仕様書への転記に便利です。

活用シーン

レガシーシステムのハッシュ値を照合する

古いシステムがMD5やSHA-1で保存した値と、新しい実装で再計算した値が一致するか確認したいときに使えます。

新規プロジェクトでアルゴリズムを選定する

セキュリティ要件に応じてどのアルゴリズムを採用すべきか、実際の出力を見比べながら検討する場面に向いています。

複数形式のチェックサムをまとめて用意する

配布ファイルの整合性確認用に複数のハッシュ形式を求められた場合、1回の入力でまとめて取得できます。

暗号学習・研修教材として使う

同じ入力から生成される各アルゴリズムの出力を比較しながら、ハッシュ関数の違いを体感的に学べます。

用語集

ソルト(Salt)
ハッシュ計算前に入力へ付加するランダムな値です。同じ入力でも毎回異なるハッシュ値になり、レインボーテーブル攻撃を防ぎます。
衝突耐性
異なる入力から同じハッシュ値が生成されにくい性質です。MD5・SHA-1は既に実用的な衝突が発見されており、低いとされています。
キーストレッチング
ハッシュ計算を意図的に繰り返し・低速化してブルートフォース攻撃を困難にする手法です。BCrypt・Argon2の中核的な仕組みです。
メモリハードネス
計算に一定量のメモリを必要とする性質です。GPU等の専用ハードウェアによる並列総当たり攻撃への耐性を高めます。Argon2の特徴です。
レインボーテーブル
大量の平文とハッシュ値の対応表を事前計算しておき、ハッシュ値から元の文字列を高速に逆引きする攻撃手法です。

よくある質問

いいえ。すべての計算はブラウザ内のJavaScript/WebAssemblyで完結し、入力文字列やハッシュ値がサーバーへ送信・保存されることはありません。

両アルゴリズムは計算のたびにランダムなソルト(追加のランダム値)を生成し、ハッシュ値に埋め込むためです。同じ入力でも異なる出力になりますが、これは仕様どおりの正しい挙動で、レインボーテーブル攻撃を防ぐための重要な仕組みです。

現在はArgon2idが第一推奨、次点でBCryptが広く使われています。MD5・SHA-1・SHA-256・SHA-512・SHA-3は高速に計算できてしまうため、単体でのパスワード保存には向きません。

パスワード保存やデジタル署名など、セキュリティが重要な用途では非推奨です。ただし、ファイルの整合性確認(意図しない破損の検出)など、悪意ある攻撃を想定しない軽量な用途では現在も使われています。

BCryptのコスト係数や、Argon2のメモリ・反復回数・並列度を調整したい場合は、それぞれ専用のBCryptハッシュ・Argon2ハッシュ計算ツールをご利用ください。
ツールくん

余談ですが ― なぜハッシュ関数は用途によって「使い分け」が必要なのか

MD5・SHA-1・SHA-256・SHA-512・SHA-3はいずれも「暗号学的ハッシュ関数」という同じ分類に属しますが、設計された時代と目的が異なるため、安全性の水準には大きな差があります。MD5(1992年)とSHA-1(1995年)は、既に実用的な衝突攻撃(異なる入力から同じハッシュ値を意図的に作り出す攻撃)が実証されており、電子証明書やデジタル署名の分野では使用が禁止されています。一方SHA-256・SHA-512・SHA-3は現在も安全とされ、ブロックチェーンやTLS証明書など高いセキュリティが求められる場面で広く使われています。

ただしSHA-256のような「安全な」ハッシュ関数であっても、パスワードの保存には不向きです。これらは意図的に高速に計算できるよう設計されているため、攻撃者が総当たり攻撃(ブルートフォース)や事前計算済みのレインボーテーブル攻撃を仕掛けた場合、大量のパスワード候補を短時間で試行できてしまいます。これに対しBCryptやArgon2は「意図的に低速」に設計されており、コストパラメータ(BCryptのラウンド数、Argon2のメモリ・反復回数)を調整することで、ハードウェアの進化に合わせて計算コストを引き上げ続けられる点が根本的に異なります。

Argon2は2015年のPassword Hashing Competition(パスワードハッシュ化コンペティション)で優勝したアルゴリズムで、計算に必要なメモリ量を指定できる「メモリハードネス」を持つのが特徴です。GPUやASICなど並列計算に特化したハードウェアは高速な演算は得意でもメモリ搭載量には限界があるため、メモリを大量に消費するArgon2は専用ハードウェアによる総当たり攻撃への耐性がBCryptよりも高いとされ、OWASPも第一選択として推奨しています。