SHA-256 ハッシュを生成

入力するか貼り付けると SHA-256 が得られます。16 進 64 文字を、ブラウザー自身が備える暗号実装で計算します。完全性が問いであるとき、今日使うべきハッシュがこれです。このページはテキストを端末から出さずに計算します。それが効きます。ハッシュされるものは、たいてい動かすべきでないものだからです。

結果

入力すると、ここに答えが出ます。

  • 処理される場所

    ファイルがないので、何もアップロードされません。計算はこのページの中で行われます。

  • 順番待ちもアカウントもなし

    お使いの機械の速さで答え、あなたが誰かを尋ねることはありません。

  • 何度でも

    回数は数えず、上限もありません。もう一度答えることに費用はかからないからです。

仕組み

  1. テキストを欄に貼り付けてください。
  2. 16 進 64 文字をコピーします。
  3. 何も送信されていません。

なぜ他ではなくこれなのか

SHA-256 は、この 15 年に設計されたほぼすべてのものの既定のハッシュです。TLS の証明書、パッケージの署名、Bitcoin、ブラウザーの完全性トークン。実用的な攻撃は知られておらず、理論的なものに対する余裕も広く取られています。

選択は好みではなく相互運用の問題です。SHA-512 が 64 ビットのハードウェアで速いとしても、ほかのシステムが期待する値は SHA-256 です。誰も到達しない余裕より、相手の期待と一致することのほうが価値があります。

長さは安全性のつまみではありません

ハッシュが長いほど守りが厚いように聞こえますが、SHA-2 が動く範囲ではそうではありません。衝突に対しては長さの半分のビット数が効き、SHA-256 では 128 ビットです。2 の 128 乗回の試行は、既知の宇宙で使えるエネルギーと時間の外側にあります。

だから 2 つの選択は実務的です。SHA-512 は 64 ビットの機械で速く、SHA-256 はほかのすべてが期待するものです。膨大な量のデータをハッシュしているのでないかぎり、正しい基準は誰と話を合わせなければならないかです。

暗号はブラウザーが提供します

この計算は `crypto.subtle` を使います。ブラウザーに組み込まれ、すでに監査され最適化された実装で、あなたが開くすべてのページの証明書を検証しているのと同じものです。ここで独自版の SHA-256 を書いてはいません。

意識した判断です。手書きのハッシュはすべてのテストベクトルを通しながら、境界のひとつで誤りを抱えていることがあります。微妙に間違ったハッシュは、正しく見えるぶん何もないより悪いのです。ブラウザーが基本部品を提供している場所では、ブラウザーのものを使います。

64 文字

SHA-256 は 256 ビットで、16 進 64 桁として書かれます。入力の大きさに関わらず長さは常に同じです。ハッシュは固定の長さに要約するからです。

一目で値を見分けるのに使えます。32 文字なら MD5、40 文字なら SHA-1、64 文字なら SHA-256。SHA-256 と書かれたものが別の長さなら、ラベルのほうが誤りです。古い資料ではよく起こります。

比較を壊す改行

Unix の道具はファイルの末尾に改行を書き、テキスト欄は書きません。単語ひとつだけのファイルの SHA-256 は、ここに書いた同じ単語の SHA-256 とまったく違います。まったく、です。ハッシュに部分点はなく、1 バイトの差が結果のすべての文字を変えます。

`sha256sum` と突き合わせる人は、文字コードより先にこれを確かめるべきです。2 つの原因は見た目が同じ——共通点のない 2 つの値——で、どちらも 1 分で切り分けられます。一方、存在しない実装の不具合を探すと午後がひとつ消えます。

文字コードはテキストと同じくらい効きます

ハッシュはバイト列に対して計算され、テキストは UTF-8 でバイト列になります。「あ」は 3 バイト、Shift_JIS なら 2 バイトでした。画面に同じテキストを表示している 2 つのプログラムが、異なるバイト列をハッシュしていることがありえます。

2 つの値が合わず、入力に日本語や非 ASCII の文字が含まれるなら、そこが最初に見るべき場所です。どちらの側のハッシュも間違っていません。別のものを要約しています。

ハッシュは署名ではありません

ハッシュは 2 つの内容が同じであることを言います。誰が作ったかは言わず、内容とその隣に公開されたハッシュの両方を差し替えることも妨げません。それには署名が要り、署名は発行者だけが持つ鍵を加えます。

だから、ファイルと同じページに掲載されたチェックサムは、壊れたミラーには効いても、そのページを支配できる相手には効きません。完全性だけでなく出どころが問題になるとき、答えは署名です。鍵が共有なら HMAC、そうでなければ公開鍵の署名です。

ファイルではなくテキストである理由

ファイルにはドロップ領域を備えたチェックサムのページがこのサイトにあり、別の問いに答えます。ダウンロードが無傷で届いたかどうか。こちらが答えるのは、ある値のハッシュは何かです。データベースの項目、署名する前のペイロード、常に同じでなければならない識別子。

2 つを 1 ページに置けば、どの訪問者にも画面の半分が余ります。アルゴリズムは同じで、同じ組み込みの暗号機能から出ています。違うのは問いだけで、だからページが分かれています。

個人情報保護法から見たときの位置

メールアドレスや会員番号をハッシュすれば匿名化されると考えるのはよくある誤解です。そうはなりません。取りうる入力の集合が小さいか予測できるとき、ハッシュはそれらを試すことで元に戻ります。だから個人情報保護委員会の考え方でも、この種の値は容易に照合できる限り個人情報の側に置かれ、匿名加工情報の要件を満たしたことにはなりません。

このページが解決するのは手前の部分です。計算はあなたの端末で行われるので、元の値もハッシュも当方へ提供されません。だから実データに対して使えます。変わらないのは、結果がどういう性質のものかということです。

SHA-256 ハッシュを生成:よくある質問

SHA-512 のほうが安全ですか。

実務上は違います。衝突に対して効くのは SHA-256 で 128 ビットで、その数字は考えうるどんな計算の外にあります。SHA-512 は 64 ビットの機械で速く、SHA-256 はほかのすべてが期待するものです。

元に戻せますか。

直接には戻せません。行われるのは候補を試すことで、だから小さく予測しやすい集合の値——メールアドレス、電話番号——をハッシュしても実際には守られません。

sha256sum の結果と一致しないのはなぜですか。

最も可能性が高いのはファイル末尾の改行で、テキスト欄にはそれがありません。1 バイトでハッシュ全体が変わります。次に多い原因はテキストの文字コードです。

署名の代わりになりますか。

いいえ。ハッシュは 2 つの内容が一致することを言うだけで、誰が作ったかは言いません。ファイルを変えられる人はたいてい公開されたハッシュも変えられます。出どころには HMAC か公開鍵の署名が必要です。

テキストは端末から出ますか。

いいえ。ブラウザーに組み込まれた暗号機能で、このページの中で計算されます。入力しているあいだ、ネットワークパネルがそれを裏づけます。

他のツール