ハッシュ生成
テキストやファイルから MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512 のダイジェストを同時に計算します。MD5 は spark-md5、SHA は Web Crypto API。HEX (大文字 / 小文字) と Base64 の出力切替に対応。
直近の入力
履歴はあなたのブラウザにのみ保存されます。サーバーに送信されません。 設定
こんなときに使う
ダウンロードしたファイルの整合性を確認する
配布元が公開している SHA-256 と、自分が計算したハッシュを照合してファイル改ざんを検出します。本ツールはファイルアップロードに対応しており、サーバー送信はしません。
shasum -a 256 ./my-app.tar.gz Git LFS / CDN のキャッシュキーを作る
コンテンツの SHA-256 をキーにすると、内容が変わった瞬間にキャッシュ無効化される(コンテンツアドレッシング)設計が可能です。
テストフィクスチャの安定 ID として使う
ある JSON サンプルの SHA-256 をテスト用 ID として使うと、内容が変われば自動で別 ID になります。冪等な ID 設計に便利。
ETag を手動で計算する
HTTP の ETag は弱比較なら任意ですが、強比較では本当のハッシュ値(MD5 / SHA-1 / SHA-256)を載せるのが慣習です。サーバー実装の検証に。
ログに含まれるハッシュ値の照合
セキュリティログに SHA-256 が記録されることがあります。攻撃者・正規ファイルどちらの値かを照合する用途。
重複検出(同一コンテンツ判定)
大量ファイルから同一内容を見つけるとき、SHA-256 が一致すれば同一とみなせます(衝突確率は事実上 0)。バックアップ重複排除にも。
よくあるエラーと対処
ファイルが大きすぎてブラウザが固まる - 原因
- 数百 MB を超えるファイルを一括で読み込んでハッシュ化すると、メモリ消費とイベントループのブロックでブラウザが固まります。
- 対処
- 本ツールは一括処理です。1 GB を超えるファイルは CLI(shasum / openssl)の使用を推奨します。チャンク処理が必要なら Web Worker + ストリーミングを実装します。
同じ文字列なのに別ツールと結果が違う - 原因
- 改行コード(CRLF と LF)または末尾の改行有無によりバイト列が異なるため、ハッシュ値も変わります。
- 対処
- 改行コードを揃えてから比較してください。CLI で `printf` を使うと末尾改行を制御できます(echo は改行を付ける/付けないが OS 依存)。
MD5 が脆弱と聞いたが使ってよいか分からない - 原因
- MD5 は衝突攻撃が現実的な計算量で可能なため、セキュリティ用途(署名・パスワード)では非推奨です。
- 対処
- 整合性チェックや非セキュリティ用途のキャッシュキーには現役で使えます。署名検証・パスワード保護には SHA-256 以上、または専用関数(bcrypt / argon2)を使ってください。
Web Crypto API がエラー - 原因
- 古いブラウザ(IE)や localhost ではない HTTP(http://)では Web Crypto が動作しません。
- 対処
- 本ツールは静的 HTTPS 配信前提です。社内ツール等で http の場合は localhost にプロキシ、または Modern ブラウザを使ってください。
CLI / 他言語でやる方法
echo -n 'hello' | shasum -a 256 -a で 1 / 224 / 256 / 384 / 512 を指定。ファイルなら shasum -a 256 file。
echo -n 'hello' | openssl dgst -sha256 openssl dgst -md5 / -sha1 / -sha512 等。-binary | base64 で Base64 出力。
python -c "import hashlib; print(hashlib.sha256(b'hello').hexdigest())" hashlib に md5 / sha1 / sha224 / sha256 / sha384 / sha512 が揃う。
よくある質問
▶ MD5 はもう使ってはいけないのですか?
▶ 暗号学的ハッシュとパスワードハッシュの違いは?
▶ ハッシュから元データを復元できる?
▶ HEX と Base64 はどちらを使うべき?
▶ なぜ SHA-256 と SHA-512 を併記する?
▶ ファイルをアップロードしてもプライバシーは大丈夫?
▶ 改行コードでハッシュが変わるのを防ぎたい
▶ SHA-3 や BLAKE2 はサポート?
もっと深く知る
公式ドキュメント / 仕様
学習サイト / 記事
※ Amazon へのリンクはアフィリエイトリンク(Amazon アソシエイト)を含みます。