MD5とSHA-256の違いは何ですか?+−
どちらもデータを固定長のハッシュに変換しますが、出力の長さと衝突耐性が異なります。MD5は128ビットのハッシュを生成し高速ですが、暗号学的には破られています - 異なる2つのファイルが同じMD5ハッシュを生成するように作成できます。SHA-256は256ビットのハッシュを生成し現在は安全とされており、そのため今日ではチェックサムやデジタル署名の標準的な選択肢となっています。
MD5は今でも安全に使えますか?+−
偶発的な破損(部分的にダウンロードされたファイルなど)を確認する用途では、MD5は今でも問題ありません - 高速で、衝突が偶然起こることはありません。信頼できるソースからのファイルであることの確認や、意図的な改ざんがないことの確認など、セキュリティに関わる用途にはSHA-256やより強力なアルゴリズムを使用してください。
CRC32は何に使われますか?+−
CRC32は暗号学的ハッシュではありません - 意図的な改ざんへの耐性ではなく、ファイル転送中やZIPアーカイブ内でのデータ破損など、偶発的なエラーを検出するために設計されています。まさにそのため高速で、ネットワークやファイル形式で広く使われています。
HMACとは何ですか?いつ使うべきですか?+−
HMAC(ハッシュベースのメッセージ認証コード)は、ハッシュする前に秘密鍵とデータを混ぜます。メッセージだけを持つ人は鍵なしでは一致するHMACを偽造できないため、API・Webhook・署名付きCookieで使われます。このページはHMAC-SHA-1/256/384/512をローカルで計算します — 秘密はブラウザから送信されません。通常のダイジェスト(MD5、SHA-*、CRC32)は鍵を使いません。
ファイルをどこにもアップロードせずにハッシュ化できますか?+−
はい。ファイルモードに切り替えてファイルを選択またはドロップすると、ブラウザのWeb Crypto APIとJavaScriptを使ってローカルでハッシュが計算されます - ファイル自体がデバイスから出たりサーバーに送信されたりすることは一切ありません。
このツールがSHA-256とSHA3-256の両方を提供しているのはなぜですか?+−
SHA-256(SHA-2ファミリーの一部)とSHA3-256は、内部設計がまったく異なります - SHA-2はMerkle-Damgård構造を使用しますが、SHA-3はKeccakと呼ばれるより新しいスポンジ構造を使用しており、これによりSHA-2に影響する特定の理論上の攻撃(長さ拡張攻撃など)に対して耐性を持ちます。現時点ではどちらも安全とされていますが、SHA-3は主に、将来SHA-2に弱点が見つかった場合の予備の標準として存在しています。
ハッシュの比較で大文字・小文字が区別されないのはなぜですか?+−
ハッシュの出力は大文字または小文字の16進数で表記されることが多く、a76c... とA76C... はまったく同じハッシュ値を表します。このツールの比較欄は、一致を確認する前に両側の空白を取り除き小文字に変換するため、異なる書式で表示されたハッシュを貼り付けても正しく比較できます。