SHA-256 ハッシュ
テキスト、ファイル、バッチ向けの無料オンライン SHA-256 ハッシュ生成ツール。MD5、SHA-1、SHA-256、SHA-384、SHA-512 を並列計算し、Hex/Base64 出力を切り替え、ファイルをドラッグ&ドロップし、既知のハッシュと照合できます。すべてブラウザ内で処理し、アップロードしません。
関連おすすめ
HMAC-SHA256 で API リクエストに署名する
単なる SHA-256 から、キー付きの HMAC 署名へ進めます
HMAC-SHA256 を使う JWT HS256 Token をデコード・検証する
JWT HS256 の署名は HMAC-SHA256 を使うため、署名確認に直結します
SHA-512 ハッシュ(512ビット、128文字の16進数)を生成する
同じ SHA-2 ファミリーの、より長い512ビット版を確認できます
古いチェックサム検証用に MD5 ハッシュを計算する
古いシステムとの照合で、MD5 と SHA-256 を並べて確認できます
古い Git や apt 検証向けに SHA-1 を生成する
レガシー環境では SHA-1 と SHA-256 の両方が必要になることがあります
大容量ファイルをストリーミング SHA-256 チェックサムで検証する
数 GB 級のファイルも分割処理で SHA-256 を計算できます
SSL証明書チェッカー
パスワード生成器
SHA-256 ハッシュとは?
SHA-256 は SHA-2 ファミリーに属する暗号学的ハッシュ関数です。米国 NSA が設計し、NIST が FIPS 180-4 として標準化しました。空文字から数 GB のファイルまで、どんな入力でも固定長の256ビット(16進では64文字)のダイジェストに変換します。
アルゴリズムは入力を512ビット(64バイト)ブロックに分け、64ラウンドのビット演算で混ぜ合わせます。内部では A から H までの8つの状態語を持ち、素数の平方根などから導かれた定数で初期化されます。入力が1文字でも変わると、出力はまったく別物に見えるほど大きく変化します。
2026年時点で、フルラウンドの SHA-256 に対する実用的な衝突攻撃や原像攻撃は知られていません。研究ではラウンド数を減らした変種への攻撃が報告されていますが、標準の SHA-256 を破るものではありません。そのため、TLS、ファイル完全性、Bitcoin、Git、JWT HS256、HMAC-SHA256 など幅広い場面で現役の標準として使われています。
ただし、SHA-256 はパスワード保存用には設計されていません。SHA-256 は高速に計算できるため、パスワードハッシュ DB が漏えいした場合、攻撃者は GPU で膨大な候補を短時間に試せます。パスワード保存には、salt を付けた bcrypt、scrypt、Argon2id など、意図的に遅くできる鍵導出・パスワードハッシュ方式を使ってください。
SHA-256 は NIST の FIPS 180-4、IETF の RFC 6234 で定義され、米国政府の情報システムでも承認された標準です。新しいシステムで一般的なチェックサムや署名用ダイジェストを選ぶなら、MD5 や SHA-1 ではなく SHA-256 を選ぶのが自然です。
ユースケース
- ダウンロードしたインストーラー、ISO、画像、添付ファイルが公式 SHA-256 チェックサムと一致するか確認します
- AWS SigV4、OAuth、JWT HS256 など、API 署名検証で使う SHA-256 ダイジェストを生成します
- DB 移行、バックアップ、ネットワーク転送の前後でファイル完全性チェックサムを比較します
- 設定行、パスワード候補リスト、テストフィクスチャなどを一括で SHA-256 化します
- 既知の平文とキーを使い、HMAC-SHA256 Webhook 署名をエンドツーエンドでデバッグします
- MD5、SHA-1、SHA-384、SHA-512 と出力を比較しながら、ハッシュアルゴリズムの違いを学べます
使い方
- モードを選ぶ:Text、File、Batch、HMAC-SHA256 から用途に合うものを選択します
- 入力する:テキストを入力・貼り付けるか、ファイルをドラッグ&ドロップします。テキストモードでは入力に合わせて結果が更新されます
- 必要に応じて Multi-Algorithm を有効にし、MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512 をまとめて計算します
- Hex と Base64 の出力形式を切り替え、必要なダイジェストをワンクリックでコピーします
Output Example
A real MP3 file encoded to a Data URI — copy-ready:
入力 : hello world SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 入力 : (空文字) SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
特徴
- テキストとファイルに対応:文字列、ローカルファイル、一括入力の SHA-256 ハッシュを同じ画面で生成できます
- 5種類のアルゴリズムを並列計算:MD5、SHA-1、SHA-256、SHA-384、SHA-512 を同時に出し、照合作業をまとめて進められます
- Hex / Base64 出力:API 署名、JWT、保存システムなど相手先の形式に合わせてすぐ切り替えられます
- ドラッグ&ドロップ対応:インストーラー、ISO、画像などのローカルファイルをアップロードせずにブラウザ内でハッシュ化します
- 既知ハッシュとの照合:期待値を貼り付けると、一致/不一致をリアルタイムで確認できます
- 一括 SHA-256:設定行、テストデータ、検証対象リストを1行ずつ個別にハッシュ化できます
- HMAC-SHA256 の確認に便利:AWS SigV4、JWT HS256、Webhook 署名のデバッグに使いやすい出力を確認できます
- Web Crypto API 使用:ブラウザ標準の実装でローカル計算し、polyfill に依存せず、入力は外部へ送信されません
コード例
SHA-256 of the empty string
textThe empty string has a single, well-known SHA-256 digest. You will see this constant in logs, caches, CDNs and storage systems as the fingerprint of empty content.
Input : (empty) SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-256 of "hello"
textClassic test vector for SHA-256 implementations. Many cryptographic libraries ship a self-test that hashes this exact string.
Input : hello SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256 of "hello world"
textThe most commonly cited SHA-256 example on the web. Used in tutorials, RFCs and Wikipedia to illustrate the algorithm's output.
Input : hello world SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
Compute SHA-256 in JavaScript (Web Crypto API)
javascriptProduction-grade SHA-256 in 4 lines using the browser's native Web Crypto API. No external libraries, no uploads, audited native implementation.
const buf = new TextEncoder().encode('hello')
const hash = await crypto.subtle.digest('SHA-256', buf)
const hex = [...new Uint8Array(hash)]
.map(b => b.toString(16).padStart(2, '0'))
.join('')
console.log(hex)
// 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Compute SHA-256 in Python
pythonStandard-library SHA-256 hash with hex output. Works in Python 3.6+.
import hashlib print(hashlib.sha256(b'hello').hexdigest()) # 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Compute SHA-256 at the command line
bashVerify a downloaded file with one shell command. macOS and Linux ship sha256sum (or shasum -a 256 on macOS) by default.
$ echo -n 'hello' | sha256sum 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 - $ sha256sum installer.dmg e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 installer.dmg
よくある質問
SHA-256 とは何ですか?どのように動きますか?
SHA-256 は SHA-2 ファミリーの暗号学的ハッシュ関数で、NIST により FIPS 180-4 として標準化されています。入力を512ビットブロックに分け、64ラウンドのビット演算で混ぜ合わせ、固定長の256ビット(64文字の16進数)ダイジェストを生成します。2026年時点で、フルラウンド SHA-256 に対する実用的な衝突攻撃や原像攻撃は知られていません。
ダウンロードファイルが改ざんされていないか SHA-256 で確認できますか?
できます。Linux ディストリビューション、Docker イメージ、npm パッケージなど、多くの公開元はダウンロードリンクの横に SHA-256 チェックサムを載せています。ダウンロード後にこのツールでファイルをハッシュ化し、公開値と完全一致するか確認してください。一致しない場合は、破損、改ざん、または別ファイルの可能性があります。
なぜ MD5 より SHA-256 が好まれるのですか?
MD5 には実用的な衝突攻撃が知られており、セキュリティ用途では安全ではありません。SHA-256 は出力が256ビットと長く、フルラウンドに対する実用的な衝突攻撃も知られていません。新しいシステムでファイル完全性、署名、HMAC を設計するなら、MD5 ではなく SHA-256 を選ぶのが基本です。
SHA-256 は復号できますか?
できません。SHA-256 は一方向関数であり、ハッシュ値から元の入力を計算で復元することは現実的ではありません。実際に「逆引き」できるように見えるケースは、辞書攻撃、総当たり、既知の値のテーブル照合によるものです。短いパスワードや有名な文字列は見つかりやすいため、パスワード保存には使わないでください。
SHA-256 はパスワード保存に安全ですか?
いいえ。SHA-256 は高速に計算できるため、漏えいしたパスワードハッシュに対して攻撃者が大量の候補を試せます。パスワード保存には、salt を付けた bcrypt、scrypt、Argon2id など、計算コストやメモリコストを調整できる方式を使ってください。
API 署名や HMAC デバッグに SHA-256 は使えますか?
使えます。AWS SigV4、GitHub Webhook、Slack 署名、JWT HS256、OAuth 1.0a など、多くの署名方式は HMAC-SHA256 を使います。このツールでは SHA-256 ダイジェストだけでなく HMAC-SHA256 の確認にも使えるため、平文、キー、出力形式の切り分けに役立ちます。
SHA-256 と SHA-3 の違いは何ですか?
どちらも256ビットのダイジェストを生成できますが、内部構造が違います。SHA-256 は SHA-2 ファミリーの Merkle–Damgård 構造に基づき、SHA-3 は Keccak のスポンジ構造に基づきます。通常のファイル完全性や API 署名では SHA-256 が広く使われ、SHA-3 は別系統の設計が必要な場面で選ばれます。
Bitcoin やブロックチェーンで SHA-256 が使われるのはなぜですか?
Bitcoin では Proof of Work、ブロックヘッダー、トランザクション ID、Merkle tree のコミットメントなどで SHA-256 が使われます。多くの場面で double-SHA-256 として2回実行されます。固定長出力、入力のわずかな変化で結果が大きく変わる性質、原像耐性が、ブロックチェーンの検証に向いています。
入力データはサーバーへ送信されますか?
送信されません。ハッシュ化はすべてブラウザ内の Web Crypto API で実行されます。入力、ファイル、HMAC 用のキー、照合対象のハッシュ値はネットワークへ送られません。ページ読み込み後はオフラインでも利用できます。
空文字の SHA-256 ハッシュは何ですか?
`e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` です。これは空文字に対するよく知られた SHA-256 値で、多くの実装で自己テスト用のベクターとして使われます。
Privacy & Security
この SHA-256 生成ツールは、ブラウザ標準の Web Crypto API を使って100%ブラウザ内で動作します。テキスト、ファイル、一括データのいずれもローカルでハッシュ化され、サーバーへ送信されません。入力内容に対する解析リクエスト、ログ保存、ダイジェストのキャッシュ、ツール本体上の第三者トラッカーはありません。既知ハッシュとの照合もクライアント側で完結します。API キー、社内ファイル名、HMAC Secret、顧客データなど、外部に出したくない内容の確認にも使いやすい設計です。
Supported Video Formats
| Format | MIME | Browser support | When to use |
|---|---|---|---|
| MD5 | 128-bit (32 hex) | Universal | 衝突攻撃が知られており、セキュリティ用途には不向きです。非セキュリティのチェックサムや古い互換用途で使われます。 |
| SHA-1 | 160-bit (40 hex) | Universal | SHAttered 以降、セキュリティ用途では非推奨です。新規システムでは SHA-256 を使ってください。 |
| SHA-256 | 256-bit (64 hex) | Web Crypto API | 現代的な標準選択です。TLS、ファイル完全性、Bitcoin、Git、JWT HS256、HMAC-SHA256 などで広く使われます。 |
| SHA-384 | 384-bit (96 hex) | Web Crypto API | SHA-2 ファミリーの384ビット版です。より長いダイジェストや特定のセキュリティ要件がある場合に使われます。 |
| SHA-512 | 512-bit (128 hex) | Web Crypto API | SHA-2 ファミリーの512ビット版です。64ビット環境では高速な場合もあり、長いダイジェストが必要な用途に向いています。 |
| HMAC-SHA256 | Keyed hash | Web Crypto API | 秘密鍵付きの SHA-256 署名方式です。Webhook、API 署名、JWT HS256 など、メッセージの真正性確認に使われます。 |
Authoritative References
- 安全文字列比較
- 二進数変換
- シーザー暗号
- モールス信号
- 16進数変換
- 動画→Base64変換
- Base64 を動画に変換
- 画像をBase64に変換
- Base64を画像に変換
- テキスト→Base64変換
- Base64→テキスト変換
- ファイルハッシュ検証
- File to Base64
- Base64→ファイル変換
- 音声→Base64
- Base64を音声に変換
- AES暗号化・復号化
- DES暗号化/復号
- Base32 エンコーダー デコーダー
- Base58 エンコードとデコード
- Base64 エンコード
- Base64 デコード
- Base64比較
- Base64 分割
- Base64複数行マージ
- Base64フォーマット
- Base64形式チェック
- Base64一括エンコード
- Base64一括デコード
- Base64クリーナー
- Base64 パディング処理
- Base64長さ統計
- Base64→16進数変換
- Base64 DataURL 変換
- Base64-Hex双方向変換
- Base85エンコーダー/デコーダー
- HMAC生成と検証
- PBKDF2鍵導出
- MD5 ハッシュ値
- SHA-256 ハッシュ
- SHA1 ハッシュ
- SHA512ハッシュ
- JWT デコーダー
- HTMLエンティティエンコード/デコード
- Unicodeエスケープ
- URL エンコード
- URL Safe Base64変換
- MIME Base64
- Java難読化
- JS難読化
- PHP難読化
- Python難読化