SHA-1ハッシュジェネレーター

160ビットSHA-1ハッシュを生成 — Gitを支える関数

共有:

SHA-1ハッシュジェネレーター

Gitを動かす160ビットダイジェスト関数

SHA-1はNSAが設計した暗号学的ハッシュ関数で、160ビットダイジェスト(16進数40文字)を生成します。2017年に実用的な衝突が実証されましたが、SHA-1は今でもGitでコミット識別に使用されています。

SHA-1とは?

SHA-1はデータを512ビットブロックで80ラウンドのビット単位論理演算、剰余加算、循環シフトで処理します。

✅ 特徴

  • Git VCS: Gitリポジトリの全てのコミットとオブジェクトを識別
  • 160ビット出力: 40桁の16進ダイジェスト
  • 幅広いサポート: 全てのプログラミング言語で普遍的に利用可能
  • 高速: ハードウェアサポートによる高速計算

📊 用途

  • Git: コミット識別、ブランチ、マージ
  • チェックサム: ファイル整合性検証
  • レガシーシステム: 古いSSL/TLS証明書
  • フィンガープリント: コンテンツ識別

⚠️ 非推奨警告

SHA-1は暗号学的に陳腐化しています。 GoogleとCWI Amsterdamが2017年に実用的な衝突を実証(SHAttered攻撃)。SHA-256を使用してください。

🔄 SHA-1の比較

🔵

MD5

128ビット

破られた — 使用しないで

🟢

SHA-1

160ビット

陳腐化 — 衝突が既知

🟡

SHA-256

256ビット

安全 — 推奨

❓ よくある質問

SHA-1はまだ安全?

いいえ。2017年に実用的な衝突が実証されました。SHA-1はもはやデジタル署名に受け入れられていません。

Gitがまだ SHA-1を使っているのはなぜ?

GitはSHA-256への移行を徐々に進めています。SHA-1の速度とGitでの非暗号学的使用が移行を急がせませんでした。

SHA-1の代わりに何を使うべき?

ほとんどのアプリケーションにはSHA-256。