SHA-1ジェネレーター
SHA-1ジェネレーター・ツールを使用して、任意の文字列入力からSHA-1ハッシュを生成し、安全なデータハッシュ化を行います。

SHA-1ジェネレーターは、入力した文字列を160ビットのSHA-1ハッシュに変換し、40文字の16進数で表示する無料ツールです。
SHA-1は何をするものですか?
SHA-1は、長さを問わず入力データから固定長のフィンガープリントを生成します。SHA-1によるハッシュ化は一方向の処理なので、ダイジェストに元のテキストを読める形で復元できる情報は含まれません。入力が少し変わるだけでも、160ビットの結果は別の値になります。
SHA-1は米国国家安全保障局によって設計され、1995年に米国国立標準技術研究所から公開されました。名称はSecure Hash Algorithm 1の略です。ただし、その名前とは異なり、現在のSHA-1は衝突攻撃に対して安全とは見なされていません。
SHA-1の衝突とは、異なる2つの入力から同じダイジェストが生成されることです。実用的なSHA-1衝突が研究者によって実証されているため、デジタル署名、証明書をはじめ、攻撃者が意図的に内容を変更できる状況での使用は非推奨です。

SHA-1ハッシュを生成するには?
ハッシュ化したい文字列を正確に入力し、SHA-1 Hashの結果欄に表示される40文字の16進数を確認してください。処理はサーバー上で行われます。入力内容はHTTPS経由でサーバーへ送信され、保存されません。
次の標準的な例で、出力形式と入力による結果の違いを確認できます。
- 入力abcからは、a9993e364706816aba3e25717850c26c9cd0d89dが生成されます。
- 空のバイト列からは、da39a3ee5e6b4b0d3255bfef95601890afd80709が生成されます。
- 末尾にスペースがある入力abc では、abcとは異なるハッシュが生成されます。
SHA-1が処理するのは、人が読める文字ではなくバイトです。スペース、句読点、大文字、改行コードもすべて結果に影響します。このSHA-1ジェネレーターでは、テキスト欄に入力した数字も文字としてハッシュ化されます。つまり、123は1、2、3という3文字を意味します。
SHA-1でアクセント付き文字や非ラテン文字を扱うには、最初にバイト列へエンコードする必要があります。文字エンコーディングやUnicode正規化方式が異なると、見た目が同じテキストでもシステムごとに違うハッシュが生成されることがあります。このジェネレーターのSHA-1結果を別のシステムと照合する場合は、双方で同じエンコーディング、通常はUTF-8と、同じ改行規則を使用していることを確認してください。

SHA-1は復号したり元に戻したりできますか?
いいえ、SHA-1ハッシュは復号できません。ハッシュ化は暗号化ではなく、復号鍵も存在しないためです。一般に、任意のダイジェストから元の入力を復元することは、計算上現実的ではありません。
ただし、入力が予測しやすい場合は事情が異なります。攻撃者は、辞書や生成したリストに含まれる候補値のSHA-1ハッシュを計算し、一致するものを探せます。ダイジェスト自体を単純に逆算できなくても、SHA-1をパスワードの保存に使用してはいけないのはこのためです。
衝突攻撃も、ハッシュを復号するものではありません。同じダイジェストになる異なる2つの入力を見つける攻撃です。それだけでも、攻撃を受ける可能性がある環境では署名や完全性チェックの信頼性が損なわれます。

SHA-1は現在もどこで使われていますか?
SHA-1は、悪意ある操作を想定しないチェックサム、重複検出、古い形式との互換性が必要なシステムで今も使われています。40文字の16進数表現は、過去のソース管理識別子やアーカイブされたソフトウェア記録にも見られます。
- チェックサム: 期待するダイジェストを信頼できる提供元から入手した場合、SHA-1で意図しない変更を検出できます。ただし、攻撃者がファイルと公開ハッシュの両方を置き換えられる場合、完全性は証明できません。
- 重複排除: 意図的な衝突の作成を脅威モデルに含めない場合、同一と思われるレコードやファイルの特定に役立ちます。衝突を一切許容できないシステムでSHA-1を使う場合は、元データも比較する必要があります。
- レガシー互換性: 一部のデータベース、API、ファイル形式では、既存のSHA-1値が必要です。その要件に対応すること自体は問題ありませんが、新規設計では現在推奨されるアルゴリズムを使用してください。
パスワード、デジタル署名、証明書の作成や署名、セキュリティトークンの生成や認証、改ざん耐性が必要な文書記録に、単純なSHA-1を使用しないでください。
SHA-1の安全性と代替手段
SHA-1の耐衝突性は暗号学的に破られており、新しいセキュリティ用途での使用は非推奨です。160ビットのダイジェストは一般的なSHA-2やSHA-3のバリエーションより短いものの、長さだけが廃止すべき理由ではありません。衝突攻撃が実証されていることが決定的な問題です。
仕様で別の方式が指定されていない限り、期待値を信頼できる提供元から取得するチェックサムにはSHA-256またはSHA-512を使用してください。認証付きの完全性を確保するには、適切なMACまたはデジタル署名方式が必要です。SHA-3も現在利用できる方式の一つです。224ビットのSHA-2ダイジェストが明示的に必要な場合は、SHA-224 ジェネレーターでその形式を生成できます。パスワードにはSHA-1ではなく、Argon2id、scrypt、bcryptなど、パスワード専用のハッシュ関数が必要です。
SHA-1についてよくある質問
SHA-1の16進数は大文字と小文字で別の値になりますか?
いいえ、16進数の英字が大文字でも小文字でも、同じ160ビット値を表せます。ただし、大文字と小文字を区別してテキスト比較するシステムでは、2つの文字列が異なるものとして扱われることがあります。そのシステムが求める表記形式を維持してください。
このツールでファイルのSHA-1を計算できますか?
このツールは入力された文字列をハッシュ化するもので、ファイルのアップロードには対応していません。ファイルのチェックサムを求める場合は、Linuxのsha1sumなど、ファイルのバイトを直接読み取るローカルユーティリティまたは同等のコマンドを使用してください。エンコーディングや改行コードの変化によって結果が変わる可能性があるため、バイナリファイルの内容をSHA-1ジェネレーターのテキスト欄に貼り付けないでください。
HMAC-SHA-1も破られているのですか?
公開されているSHA-1の衝突攻撃によって、HMAC-SHA-1が同じように直接破られるわけではありません。HMACは秘密鍵を使い、別の構成を採用しているためです。それでも、新しいプロトコルではレガシー技術への依存やポリシー上の制限を避けるため、通常はHMAC-SHA-256などの現在推奨される方式が選ばれます。
ソルトを加えればSHA-1でパスワードを安全に保存できますか?
いいえ。ソルトを加えると、同じパスワードが同じSHA-1ダイジェストとして保存されることを防ぎ、事前計算済みテーブルを使った攻撃を難しくできます。しかし、SHA-1は処理が速すぎるため、パスワード保存には適しません。調整可能なワークファクターと、パスワードごとに異なるランダムなソルトを使用できるパスワードハッシュ関数を選んでください。
最後に確認すること
このジェネレーターのSHA-1結果を別のハッシュと比較する前に、見えないスペース、末尾の改行、文字エンコーディングの違い、入力内での大文字と小文字の変更がないか確認してください。SHA-1を使うのは、既存システムで必要な場合か、耐衝突性がセキュリティ要件に含まれない場合に限ってください。新規設計では、信頼できるチェックサムには現在推奨される耐衝突性ハッシュ、メッセージ認証には鍵付きMAC、署名には適切なデジタル署名方式を選択してください。
人気のツール
Digily LinkのIPルックアップツールは、任意のIPアドレスに関する詳細情報を提供します。この無料オンラインサービスを利用して、包括的なIPデータを取得してください。
WhatsAppリンクジェネレーターで無料のWhatsAppリンクを即座に生成します。カスタムメッセージを追加して、ワンクリックでチャットを開始できます。ログインやコーディングは不要です。