onlinetools.dev

ハッシュ生成

MD5、SHA-1、SHA-256、SHA-512、HMAC — すべてブラウザ内で計算

ローカル実行
loading…
このツールについて

任意のテキストの MD5、SHA-1、SHA-256、SHA-384、SHA-512 ダイジェストに加え、鍵付きの HMAC 署名を、ブラウザー内で直接計算します。SHA ファミリーと HMAC は Web Crypto API を使用します — ブラウザーが TLS に使うのと同じ、監査済みのプリミティブです。一方、MD5(Web Crypto が意図的に省いているもの)は、レガシーなチェックサム作業のために小さなローカル実装として同梱しています。

ハッシュは入力に合わせてライブ更新され、すべてのアルゴリズムが同時に計算されるため、ダウンロードページがどのアルゴリズムを選んでいてもチェックサムとの比較に設定は不要です。HMAC モードは webhook 署名の検証用にシークレットキー欄を追加します — GitHub、Stripe をはじめ、ほとんどの webhook プロバイダーは HMAC-SHA256 でペイロードに署名しています。

入力がページの外に出ることはないため、オンラインサービスには貼り付けられないもの — API ペイロード、漏洩ハッシュリストと照合したいパスワード、社内文書 — も安全にハッシュ化できます。

よくある質問

どのハッシュアルゴリズムを使うべきですか?
今日、セキュリティに関わるものはすべて SHA-256 以上です。MD5 と SHA-1 は衝突耐性が破られています — 同じダイジェストを持つ異なる 2 つの入力を作り出せます — ため、非敵対的なチェックサムとレガシープロトコルの互換性のためだけに生き残っています。
ではなぜ MD5 を提供しているのですか?
今でも出会うからです。ETag、キャッシュキー、ファイルマニフェスト、古いデータベースの列。そうした値の検証には、暗号学的な位置づけとは無関係に MD5 の計算が必要です。ただし、新しいものを MD5 を前提に設計するのはやめましょう。
HMAC とは何ですか? 普通のハッシュとどう違いますか?
HMAC はハッシュ計算にシークレットキーを混ぜ込むため、鍵の保持者だけがダイジェストを生成・検証できます。普通のハッシュは完全性を証明します(「このデータは改変されていない」)。HMAC はさらに真正性も証明します(「鍵を持つ誰かがこれを生成した」)。日常的な用途は webhook 署名の検証です。
ハッシュ化はパスワードの暗号化と同じですか?
いいえ。しかも SHA-256 のような高速ハッシュはパスワード保存には不適切です — 攻撃者は毎秒数十億回試行できます。パスワード保存には、意図的に遅くソルト付きのアルゴリズムが必要です。bcrypt、scrypt、Argon2 です。
関連ツール