SHA1 ハッシュ
オンラインでSHA1ハッシュを計算するツールです。テキストを入力すると40文字の16進数ハッシュ値を即座に生成。テキストとファイルのSHA1計算に対応し、ブラウザ内でローカル処理するためプライバシーが保護されます。
関連おすすめ
SHA1とは何ですか?
SHA1(Secure Hash Algorithm 1)は、米国国家安全保障局(NSA)によって設計され、NISTによって1995年に公開された暗号学的ハッシュ関数です。任意の長さの入力を受け取り、160ビット(40文字の16進数)の出力を生成します。
**主な用途:** ①Git/SVNのコミット指紋(commit SHA);②ファイル整合性チェック(レガシー互換性);③ソフトウェア配布ハッシュ(SHA-256に置き換えられつつある);④TLS 1.0/1.1ハンドシェイク(非推奨)。
**セキュリティ状況:** 2017年にGoogleとCWI Amsterdamによって、SHA-1に対する最初の実用的な衝突攻撃(SHAttered)が公開され、SHA-1がもはや衝突耐性を持たないことが証明されました。セキュリティが重要なシナリオではSHA-256以上を使用してください。Git履歴やファイル指紋などの非セキュリティ用途では引き続き使用できます。
**MD5との比較:** SHA1はMD5より安全ですが(出力長が長い)、どちらも現在では衝突耐性がありません。MD5はファイル指紋や重複排除には今でも高速で有用です。SHA1はGit履歴で存続しています。どちらも新しいセキュリティ重要アプリケーションには使用すべきではありません。
ユースケース
- Gitコミットハッシュの検索
- SVNコードバージョンの指紋
- レガシーシステムでのSHA1検証(移行を回避)
- 教育・研究での暗号学的ハッシングのデモンストレーション
- MD5/SHA1で配布されている古いソフトウェアのチェックサム検証
- クライアント/サーバー間のSHA1整合性テスト
使い方
- 入力欄に計算したいテキストを入力または貼り付けます
- ツールが自動的にSHA1を計算し、40文字の16進数結果を表示します
- オプション:ファイルをドラッグ&ドロップしてファイルのSHA1を計算
- コピーボタンをクリックしてハッシュ値を取得します
特徴
- テキストSHA1:ミリ秒単位のリアルタイム計算
- ファイルSHA1:チャンク処理により大きなファイルにも対応
- ブラウザ内ローカル処理:データがデバイスから外部に送信されません
- ワンクリックコピー:ハッシュ値をクリップボードにコピー
- Unicode、絵文字、多言語テキストに対応
- 2つのSHA1ハッシュを比較可能(大文字小文字を区別しない)
よくある質問
SHA1は安全ですか?まだ使用できますか?
セキュリティが重要なシナリオではSHA-256/SHA-512以上を使用してください。SHA-1は2017年のGoogleによるSHAttered衝突攻撃により実質的に破られました。ただし、①Git履歴の互換性;②レガシーソフトウェアの検証;③機密性のないファイル指紋——これらの用途は引き続き許容されます。
SHA1の出力長はどのくらいですか?
SHA1は160ビットの出力を生成し、40文字の16進数として表示されます(各16進数文字は4ビットを表します)。例:a1b2c3d4e5f6... のように合計40文字です。
SHA1とMD5はどちらが優れていますか?
どちらも新しいセキュリティアプリケーションには適していません。SHA1は出力が長いためMD5よりわずかに安全です。実際には:①ファイル指紋・重複排除にはMD5を使用(より高速);②Git互換性にはSHA1を使用;③セキュリティ用途にはSHA-256以上を使用してください。
SHA1は大文字小文字を区別しますか?
はい。大文字小文字が異なるテキストは完全に異なるハッシュを生成します。ただし、ハッシュ値の文字列自体は大文字でも小文字でも表示できます(Linuxは小文字、Windowsは大文字が慣例)。比較時は大文字小文字を無視して比較してください。
ファイルのSHA1ハッシュを計算できますか?
はい。「ファイルをアップロード」ボタンをクリックするか、ファイルをページにドラッグ&ドロップしてください。チャンク処理により、大きなファイルでもスムーズにSHA1を計算できます。
SHA1は暗号化アルゴリズムですか?
いいえ。SHA1は一方向ハッシュ関数であり、ハッシュ値から元のテキストを逆算することは実質的に不可能です。「SHA1暗号化」はよくある誤用です。このツールは暗号化ではなくハッシュ計算を行います。
なぜGitはまだSHA1を使用しているのですか?
SHA1自体は衝突耐性がありませんが、GitはLinus Torvaldsによって特別に設計された衝突緩和構造の中でSHA1を使用しています。生の衝突を生成できたとしても、同じプレフィックスを持つGitコミットの衝突を作成することは現在のところ不可能であるため、Gitは安全なままです。
入力したコンテンツはサーバーに送信されますか?
いいえ。このツールはWeb Crypto APIを使用してブラウザ内でハッシュを完全に計算します。データがサーバーにアップロードされることはありません。ローカル処理によりプライバシーが保護され、機密性の高いコンテンツにも適しています。
トラブルシューティング
SHA1出力が他のツールと一致しません
以下を確認してください:1)まったく同じテキストを入力しましたか(スペース、改行、不可視文字を含む)?2)テキストが自動的にトリムされていませんか?「改行を含める」オプションをオンにしてみてください。3)文字コードは一致していますか(UTF-8など)?
SHA1出力が40文字ではありません
SHA1は常に160ビット = 40文字の16進数を出力します。出力がそれより長いか短い場合、ツールがBase64エンコーディングで表示している可能性があります。ツールが他のエンコーディング形式ではなく16進数出力を使用していることを確認してください。
用語集
- SHA1
- NISTによってFIPS 180-1で標準化された160ビットの暗号学的ハッシュ関数。衝突耐性はなくなりましたが、Git履歴やレガシーファイル検証で今でも一般的に使用されています。
- ハッシュ(ダイジェスト)
- 任意の長さの入力を固定長の出力にマッピングする数学的関数。このツールは40文字の16進数SHA1ダイジェストを生成します。
- 衝突(Collision)
- 2つの異なる入力が同じハッシュ値を生成すること。2017年のGoogleによるSHAttered攻撃により、SHA1の衝突を作成できることが実証されました。
- FIPS
- Federal Information Processing Standards。NISTによって発行される米国政府の情報処理標準。FIPS 180-1はSHA1を定義する標準です。
- 16進数エンコーディング
- ハッシュ値は通常16進数で表示され、4ビットの2進数ごとに1つの16進数文字が対応します。SHA1は160ビットを出力するため、40個の16進数文字になります。
- Gitコミットハッシュ
- Gitは各コミットを識別するためにSHA1を使用しています。アルゴリズム自体は破られていますが、Linus Torvaldsが設計した衝突緩和構造により、Gitは安全に保たれています。
SHA1と他のハッシュアルゴリズムの比較
SHA1をMD5およびSHA-2ファミリーと比較します。
| アルゴリズム | 出力 | 公開年 | 安全性 |
|---|---|---|---|
MD5 | 128ビット / 32文字 | 1992 | 弱(2004年に破られた) |
SHA-1 | 160ビット / 40文字 | 1995 | 弱(2017年に破られた) |
SHA-256 | 256ビット / 64文字 | 2001 | 強(推奨) |
SHA-512 | 512ビット / 128文字 | 2001 | 非常に強 |
入力サイズによるSHA1の処理時間
SHA1の処理時間は入力データサイズに比例して線形にスケールします。
| 入力サイズ | ローカル処理時間 | 典型的な用途 |
|---|---|---|
10文字 | < 1 ms | 短い文字列 |
1 KB | < 1 ms | 短いテキスト文書 |
100 KB | 1-2 ms | 中くらいの文書 |
10 MB | 30-60 ms | PDFファイル |
100 MB | 300-600 ms | 動画ファイル |
1 GB | 3-6 s | 大きなファイル |
SHA1の5つの一般的なユースケースとリスクレベル
開発、バージョン管理、コンプライアンス、セキュリティをカバーします。
| ユースケース | リスクレベル | 主な価値 |
|---|---|---|
| Gitコミットハッシュ | 低(Gitの衝突保護) | レガシー互換性 |
| レガシーソフトウェアのSHA1チェックサム | 中 | 後方互換性 |
| 教育用デモ | なし | ハッシュ原理の学習 |
| パスワードハッシュ | 高(使用すべきでない) | 代わりにbcrypt/Argon2を使用 |
| API署名 | 高(使用すべきでない) | 代わりにSHA256/HMAC-SHA256を使用 |
Authoritative References
- NISTNIST FIPS 180-1 - SHA1標準
- Google / CWISHAttered - SHA1初の衝突
- MDNMDN - SubtleCrypto.digest
- WikipediaWikipedia - SHA-1
- 安全文字列比較
- 二進数変換
- シーザー暗号
- モールス信号
- 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難読化