SHAハッシュとは
SHA(Secure Hash Algorithm)は、テキストやファイルのバイト列から固定長のハッシュ値を得る一方向関数の系列です。本ツールはNIST FIPS 180-4で定義されたSHA-1、SHA-256、SHA-384、SHA-512を、ブラウザ標準のWeb Crypto APIで計算します。
SHA-256とは
SHA-256は256 bit、HEXでは64文字のハッシュ値を出力します。ファイル配布時のチェックサムやデータが変化していないかの確認など、現在広く使われる方式です。
SHA-512とは
SHA-512は512 bit、HEXでは128文字を出力します。SHA-384は同じSHA-2系列で384 bit・96文字です。本ツールはSHA-256を初期選択にしています。
ファイルのチェックサムとは
ファイル全体の生バイト列から求めたハッシュ値です。入手したファイルの値を信頼できる配布元の掲載値と比較すると、転送中の破損や意図しない変更の確認に役立ちます。ファイル名やMIME typeは計算には含みません。
SHA-256チェックサムを確認する方法
- 「ファイル」を選び、100 MiB以下のファイルを指定します。
- アルゴリズムをSHA-256にして計算します。
- 配布元の64文字HEX値を「比較するハッシュ値」へ貼り付けます。
- 一致表示を確認します。期待値は配布元の公式な経路から入手してください。
SHA-1を推奨しない理由
SHA-1には衝突耐性上の問題があり、新しいセキュリティ用途には推奨されません。本ツールでは古いファイルや既存システムのチェックサム互換確認に限って利用できるようにしています。
SHAハッシュと暗号化の違い
暗号化は復号キーによって元データへ戻すことを目的とします。SHAハッシュはデータを固定長の値へ写す一方向関数であり、暗号化や復号の機能ではありません。入力候補が少ない場合などは同じ値を計算して推測される可能性もあります。
SHAハッシュをパスワード保存にそのまま使わない理由
このツールで生成する単純なSHAハッシュを、パスワード保存方式としてそのまま使用しないでください。 パスワード保存にはsaltと適切なcost factorを備えたpassword hashing schemeが必要です。本ツールはHMAC、salt、PBKDF2、Argon2、scryptを実装していません。
よくある質問
SHA-256とは何ですか?
入力のバイト列から256 bit、64文字のHEX値を計算するSHA-2系列のハッシュ関数です。
SHA-256を計算できますか?
はい。初期選択がSHA-256で、テキストとファイルの両方を計算できます。
SHA-512にも対応していますか?
はい。SHA-512に加えてSHA-384にも対応しています。
SHA-1にも対応していますか?
古いチェックサムとの互換確認用に対応していますが、新しいセキュリティ用途には推奨しません。
ファイルのSHA-256を確認できますか?
はい。100 MiB以下のファイルを選択し、SHA-256を計算して期待値と比較できます。
ファイルはアップロードされますか?
いいえ。ファイルはブラウザ内だけで読み込み、外部へ送信・保存しません。
SHA値が一致すればファイルは同じですか?
チェックサム比較として利用できますが、期待値を掲載した配布元自体の真正性までは保証しません。
SHAは暗号化ですか?
いいえ。SHAは一方向のハッシュ関数で、復号を前提とする暗号化とは異なります。
SHAを復号できますか?
暗号化のような復号機能はありません。ハッシュ値から元データを直接戻す処理ではありません。
パスワードをSHA-256で保存してよいですか?
単純SHAをそのままパスワード保存に使わず、saltとcost factorを備えた専用方式を使用してください。
日本語もSHA計算できますか?
はい。日本語や絵文字をTextEncoderでUTF-8へ変換して計算します。
スペースや改行で結果は変わりますか?
はい。空白、タブ、改行もバイト列の一部なので、追加・削除すると結果が変わります。