MD5 / SHA ハッシュ生成

MD5、SHA-1、SHA-256、SHA-384、SHA-512 のハッシュや HMAC 署名を生成。テキスト、Hex、Base64、ファイルに対応し、Hex か Base64 で出力します。

ハッシュは一方向の計算で、元に戻すことはできません。HMAC はシークレットキー(共通鍵)を加えたもので、API リクエストや Webhook の署名検証によく使われます。

ファイルはブラウザ内でのみ読み込まれ、アップロードされません。

ハッシュとは?

ハッシュ関数は、どんな長さのデータも決まった長さの「指紋」に変換します。同じ入力からは必ず同じ結果になり、1 文字でも変わると結果はまったく別物になります。また、ハッシュから元のデータを復元することはできません。ダウンロードしたファイルの確認、データの変更検出、キャッシュのキーなどに使われます。

使い方

  1. アルゴリズムを選びます。「すべてのアルゴリズム」を選ぶと一度にすべて計算します。
  2. 「入力」に入力します。「自動計算」がオンなら、入力を止めるとすぐに結果が表示されます。
  3. 必要に応じて入力エンコードと出力形式を変えたり、HMAC をオンにしてキーを入力したりします。

アルゴリズムの比較

アルゴリズム長さ(Hex)用途
MD532 文字チェックサムやキャッシュのキー。安全性は破られているため、セキュリティ用途には使わないこと
SHA-140 文字古いシステム(Git など)との互換性。セキュリティ用途には非推奨
SHA-25664 文字現在もっとも広く使われている選択肢
SHA-384 / SHA-51296 / 128 文字より長い結果が必要な場合

HMAC とは?

HMAC はハッシュにシークレットキー(共通鍵)を組み合わせたもので、鍵を知っている人だけが同じ結果を作れます。多くのサービスが API リクエストの署名や、Webhook が本当に自分たちから送られたことの証明に使っています。決済サービス、GitHub、LINE などはいずれも HMAC-SHA256 を使っています。HMAC をオンにしてキーを入力してください。キーはテキスト、Hex、Base64 のいずれでも指定できます。

入力エンコードと出力形式

例

ファイルのハッシュと比較

よくある質問

ハッシュは復号できますか?

できません。ハッシュは一方向の計算なので、復号するものがありません。いわゆる「MD5 復号サイト」は、よくある文字列を事前に計算した巨大な表から探しているだけです。単純なパスワードが見つかりやすいのはそのためです。

ほかのツールと結果が違うのはなぜ?

たいてい入力がわずかに違っています。余分なスペースや改行、改行コードの違い(Windows の CRLF と Unix の LF)、文字エンコードの違いなどです。入力がまったく同じで、同じ入力エンコードを使っているか確認してください。

ユーザーのパスワードを MD5 や SHA-256 で保存してよいですか?

いいえ。これらのアルゴリズムは高速なので、攻撃者も高速に推測を試せます。bcrypt、scrypt、Argon2 などのパスワード用ハッシュアルゴリズムを使ってください。

HMAC キーは保存されますか?

保存されません。計算はブラウザ内で行われます。入力内容と設定は記憶されますが、HMAC キーは意図的に記憶しないため、再読み込み後はもう一度入力する必要があります。