256bit — 最も広く使われる標準的なハッシュ
ハッシュ生成ツール
テキストからMD5・SHA-1・SHA-256・SHA-384・SHA-512のハッシュ値を即時生成。HEX・Base64形式出力、全アルゴリズム一括生成に対応。
ハッシュ生成ツールについて
ハッシュとは?
ハッシュ(Hash)とは、任意の長さのデータを固定長の値に変換する一方向関数の出力です。同じ入力からは常に同じハッシュ値が得られますが、ハッシュ値から元のデータを復元することはできません。
ハッシュの主な用途
- データの整合性チェック:ファイルのダウンロード後にハッシュ値を比較し、改ざんや破損がないか確認
- パスワードの保存:平文ではなくハッシュ値を保存し、セキュリティを向上
- デジタル署名:文書のハッシュに署名することで改ざん検知を実現
- データの重複排除:同一コンテンツを効率的に検出
- チェックサム:通信データの誤り検出
各アルゴリズムの特徴
本ツールは5種類のハッシュアルゴリズムに対応しています。用途に応じて適切なアルゴリズムを選択してください。
MD5(128bit)
1991年に設計されたハッシュ関数です。高速で広く普及していますが、衝突攻撃が実証されており、セキュリティ用途には使用すべきではありません。ファイルのチェックサムなど非セキュリティ用途では今でも使われています。
SHA-1(160bit)
NSAが設計し1995年に公開されたハッシュ関数です。MD5より強力ですが、2017年にGoogleが実用的な衝突を実証(SHAttered攻撃)しており、セキュリティ用途では非推奨です。
SHA-256(256bit)
SHA-2ファミリーの一つで、現在最も広く使われている標準的なハッシュアルゴリズムです。SSL/TLS証明書、ブロックチェーン(Bitcoin等)、ソフトウェアの配布検証など幅広い場面で採用されています。
SHA-384(384bit)
SHA-512の出力を384bitに切り詰めたバリエーションです。SHA-256より高いセキュリティ強度が必要な場合に使用されます。
SHA-512(512bit)
SHA-2ファミリーで最も長い出力を持つアルゴリズムです。64bit CPUでは内部演算が64bitのため、SHA-256より高速に動作する場合があります。最高レベルのセキュリティ強度が求められる場面に適しています。
使い方ガイド
本ツールを使ってハッシュ値を生成する手順を説明します。
- テキストを入力:ハッシュ化したい文字列を入力欄に入力します。
- アルゴリズムを選択:MD5〜SHA-512から目的に合ったアルゴリズムを選びます。迷った場合はSHA-256を推奨します。
- 「ハッシュを生成」をクリック:選択したアルゴリズムでハッシュ値が計算されます。
- 結果をコピー:Hex(16進数)の小文字・大文字、Base64の3種類の形式で結果が表示されます。コピーボタンでクリップボードにコピーできます。
「全アルゴリズムで一括生成」ボタンを使うと、5種類すべてのアルゴリズムで同時にハッシュ値を生成できます。アルゴリズム間の出力の違いを比較する際に便利です。
セキュリティに関する注意事項
ハッシュアルゴリズムを選択する際は、以下の点にご注意ください。
- MD5・SHA-1はセキュリティ用途に使わないでください。衝突攻撃が実証されており、デジタル署名・証明書・パスワードハッシュには不適切です。
- パスワードの保存にはハッシュ関数単体を使わないでください。bcrypt、scrypt、Argon2など、パスワード専用のハッシュ関数(鍵導出関数)を使用してください。
- ソルト(salt)を併用することで、レインボーテーブル攻撃への耐性が向上します。
- 新規のシステム設計ではSHA-256以上を推奨します。
本ツールの処理はすべてブラウザ内で完結しており、入力データがサーバーに送信されることはありません。
よくある質問
- Q. 入力したデータはサーバーに送信されますか?
- いいえ。すべての処理はブラウザ内のJavaScriptで完結しています。Web Crypto APIを使用してハッシュ値を計算するため、入力データがサーバーに送信されることはありません。機密性の高いデータも安心してハッシュ化できます。
- Q. どのアルゴリズムを選べばよいですか?
- 一般的にはSHA-256を推奨します。最も広く使われており、十分なセキュリティ強度があります。ファイルのチェックサムなど非セキュリティ用途でMD5が指定されている場合はMD5を使っても問題ありません。パスワードの保存にはbcryptやArgon2などの専用アルゴリズムを使ってください。
- Q. 同じ入力でも異なるハッシュ値が出ることはありますか?
- いいえ。同じアルゴリズムで同じ入力を与えれば、必ず同じハッシュ値が出力されます。これはハッシュ関数の決定性(deterministic)という基本的な性質です。もし異なる値が出る場合は、入力の前後に空白や改行が含まれていないか確認してください。
- Q. ハッシュ値から元のテキストを復元できますか?
- できません。ハッシュ関数は一方向関数であり、出力から入力を逆算することは計算上不可能です。これがハッシュ関数の最も重要な性質の一つです。
- Q. MD5やSHA-1が非推奨なのはなぜですか?
- MD5は2004年に、SHA-1は2017年に衝突攻撃(異なる入力から同じハッシュ値を生成する攻撃)が実証されました。これにより、デジタル署名や証明書などのセキュリティ用途では信頼性が担保できなくなっています。ファイルの同一性チェックなど非セキュリティ用途では依然として使用されています。
- Q. Hex表記とBase64表記の違いは何ですか?
- Hex(16進数)表記は0-9とa-fで各バイトを2文字で表現します。Base64は英数字と+/=を使い、よりコンパクトに表現します。用途に応じて使い分けてください。一般的にはHex表記が多く使われます。
出典・参考文献
関連記事
パスキーはなぜフィッシングに強いのか ― WebAuthn / FIDO2 と公開鍵ログインの仕組み
パスキー(passkey)は、パスワードを保存しないログイン方式です。WebAuthn / FIDO2 の公開鍵認証、チャレンジ署名、origin / RP ID への結びつき、同期パスキーと端末固定キーの違い、復旧設計の注意点を整理します。
Cookie はなぜ壊れやすいのか ― SameSite / Secure / HttpOnly / Partitioned を正しく読む
Cookie の Secure、HttpOnly、SameSite、Partitioned(CHIPS)、__Host- / __Secure- プレフィックスは、それぞれ守る対象が違います。CSRF、XSS、第三者Cookie廃止、埋め込みウィジェットの状態管理まで、Set-Cookie 属性の設計意図を整理します。
SNI はなぜ見えていたのか ― TLS Encrypted ClientHello(ECH)と HTTPS の最後の平文
HTTPSでも、TLSハンドシェイクのSNIは長く平文で送られてきました。2026年にRFC 9849として標準化された TLS Encrypted ClientHello(ECH) が何を隠し、何を隠さないのかを、TLS 1.3、ClientHelloInner/Outer、HTTPS/SVCB DNSレコード、DoHとの関係から整理します。
量子コンピュータで TLS は破られるのか ― ML-KEM / Kyber とポスト量子暗号の実務
NIST は 2024 年に ML-KEM、ML-DSA、SLH-DSA を正式標準化しました。量子コンピュータが RSA / ECC に与える影響、Harvest Now, Decrypt Later、Kyber から ML-KEM への改名、TLS のハイブリッド鍵交換、開発者が今やるべきことを整理します。


