SHA1ハッシュジェネレータ
SHA-1は160ビット(40の16進文字)のディジェスト値を生成し、gitオブジェクトID、従来のSVNチェックサム、および2017年以前の多くの署名システムで使用されているハッシュ関数です。任意のテキストを貼り付けるだけで決定的なハッシュ値が得られます。ただし、あらかじめ注意が必要な点があります:SHA-1は衝突耐性に欠けている(SHAttered, 2017)ため、新しい署名やパスワードの保存には使用してはならず、非攻撃的な整合性チェックにのみ適しています。
SHA-1ハッシュの計算方法
-
1
入力内容を貼り付けてください
任意のテキスト、文字列、テキスト形式に変換された完全なファイル、またはヘックスデシマル数列です。
-
2
エンコードはUTF-8です
入力データはハッシュ処理前にUTF-8バイトとしてシリアル化され、これはOpenSSL、Python hashlibおよびNode.jsのcryptoモジュールで採用されているデフォルト設定と一致しています。
-
3
メルケル・ダムガードループが走っています
メッセージはパディング処理を施され、512ビットのブロックに分割された後、各ブロックについてSHA-1圧縮関数を80回適用される。
-
4
40文字のヘックスデジストをコピーします
出力は常に小文字の16進数文字40個(160ビット)です。
SHA-1の概要
| プロパティ | 値 |
|---|---|
| 出力サイズ | 160ビット / 40の16進数文字 |
| ブロックサイズ | 512ビット |
| ラウンド数 | 80 |
| 衝突耐性 | 破損(2^63 選択プレフィックス) |
| 前像抵抗 | 無傷(執筆時点) |
| 速度 | 現代的な単一コアでは約500 MB/s |
SHA-1がまだ許容されている場所
- Git:コミットおよびブロブIDはSHA-1に基づいています(SHA-256の使用はオプションです)。衝突が発生した場合、履歴が混乱する可能性がありますが、著者の鍵がなければコミットを偽造することはできません。
- 非セキュリティ対象のデータ重複削除。 脅威モデルに攻撃者が含まれていないオブジェクトストアにおけるコンテンツアドレッシング方式。
- 後方互換性のあるAPI。 GitHubの
X-Hub-Signature(v1)などの従来型ウェブフック - フォレンジック識別子。 アーカイブ全体での重複データ除去を目的としたファイルの指紋化処理。
SHA-1が受け入れられない場所
- TLS証明書。 ブラウザは2017年からSHA-1方式の証明書を信頼しなくなった。
- コード署名。 マイクロソフト、アップル、モジラはSHA-1署名を採用していません。
- パスワードのハッシュ処理。 Argon2idまたはbcryptを使用します。
- 新しい設計におけるHMACの使用。 少なくともHMAC-SHA-256を使用してください。
出力を確認したい場合は
任意のUnixシステム上でecho -n "hello" | sha1sumと比較してください。文字列「hello」のハッシュ値はaaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dです。
よくある質問
数学的な意味ではではありません。一般的な短い入力文字列については、事前に計算済みの辞書を用いる攻撃者が即座に識別できるため、ハッシュ値だけではパスワードを保護することはできません。40文字のランダム文字列に対しては、実用的な逆算手法が存在しません。
いいえ。SHA(Secure Hash Algorithm)はNISTが公開したアルゴリズムファミリーです。SHA-1は1995年に発表された160ビットのアルゴリズムであり、SHA-2はSHA-224、SHA-256、SHA-384およびSHA-512を含むファミリーです。
10年以上にわたる歴史との互換性を確保するため、2017年からはgitは選択されたプレフィックスによる衝突(SHA-1DC)に対抗する機能を強化し、新しいプロジェクト向けにSHA-256レポジトリもサポートしています。
当社のサーバー上で計算されます。入力テキストは暗号化された接続を通じて送信され、標準のSHA-1関数でハッシュ化された後、40文字のダイジェストが返されます。送信されたテキストは保存しません。SHA-1は一方向関数であるため、ダイジェスト自体を元の入力に戻すことはできません。
関連ツール
GweiからEtherへの変換ツール
Gwei単位の金額をEther(ETH)に最大18桁の小数で変換します。ガス料金の推定や取引データの読み取りに役立ちます。
HMACジェネレーター
メッセージと秘密鍵から、API認証やWebhook向けのHMAC署名(SHA-256、SHA-384、SHA-512、SHA-1、MD5)を生成します。
JWTジェネレーター
カスタムのヘッダー、ペイロードのクレーム、HMACまたはRSA署名、有効期限、オーディエンス制限を備えた、署名済みJWTをテスト用に生成します。
チェックサム検証
任意のファイルやテキストの MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC-32 チェックサムを計算し、公開者が掲載している値と比較して一致・不一致を明確に判定します。
ハッシュジェネレーター
テキストからMD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32のハッシュを生成。チェックサムや比較にそのまま使えるダイジェストをコピーできます。
MD5ジェネレーター
任意のテキストまたはファイルからMD5ハッシュを生成します。128ビットの出力を16進数で表示し、すべてブラウザー内で計算します。
このツールは他の言語でも利用できます
- Generator skrótów SHA1 [PL]
- Generator Hash SHA1 [ID]
- Bộ tạo giá trị hash SHA1 [VI]
- SHA1-hashgenerator [SV]
- เครื่องสร้างแฮช SHA1 [TH]
- مولد تجزئة SHA1 [AR]
- Generador de Hash SHA1 [ES]
- Gerador de Hash SHA1 [PT]
- Générateur de hachage SHA1 [FR]
- SHA1-Hash-Generator [DE]
- SHA1 해시 생성기 [KO]
- SHA1-hashgenerator [NL]
- Generatore di hash SHA1 [IT]
- Генератор хешей SHA1 [RU]
- SHA1 Hash Oluşturucu [TR]
- SHA1哈希生成器 [ZH]
- SHA1 Hash Generator [EN]