本文へスキップ

文字列のハッシュ

Text Hash

文字列のMD5・SHA-1・SHA-256・SHA-384・SHA-512・CRC-32を計算し、大文字表記とBase64での出力も選べます。

テキストでもファイルでも、MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC-32で一度にハッシュを計算し、貼り付けたチェックサムと突き合わせられます。テキストはUTF-8のバイト列としてハッシュします。ほかの道具が「文字列をハッシュした」と言うときの、その方式です。

🔒 ブラウザの中だけで動きますhashmd5sha256checksum
出力

入力

チェックサムを取るファイルを置く

このタブの中で読みます。アップロードはしません。

テキストはUTF-8のバイト列としてハッシュします。ほかの道具が文字列のハッシュと言うときの、その方式です。

ハッシュ値

公開されているチェックサムを貼り付けると、一致した行が光ります。

アルゴリズムごとに1行、ハッシュ値とコピーボタン付き。
アルゴリズムハッシュ値コピー
MD5衝突を作るのが安上がりです。チェックサムには構いませんが、署名やパスワードには使わないでください。
SHA-1衝突が実際に示されています。昔からのチェックサムならまだしも、新しく使うものではありません。
SHA-256
SHA-384
SHA-512
CRC-32ハッシュではなく誤り検出符号です。二つのファイルが偶然に同じ値を持つこともあり、故意ならなおさらです。

入力

0 byte

入力元

テキスト欄

使い方

  1. テキストを入力するか、ファイルをドロップします

    すべてのアルゴリズムを一度に計算するので、アルゴリズムの選び間違いが起きません。ドロップしたファイルはこのタブの中で読み、アップロードは一切しません。

  2. 公開されているチェックサムを貼り付けます

    比較する値の欄に入れると、一致した行に印が付きます。配布元がどのアルゴリズムを使ったかを知らなくても済みますし、16進数64文字を目で照らし合わせる必要もありません。

  3. Base64が必要なら、出力の形式を変えます

    小文字の16進数、大文字の16進数、Base64です。ハッシュ値のバイト列は同じで、表記だけが変わります。

よくある質問

どれを使えばいいですか

ほかに要求が無いならSHA-256です。MD5とSHA-1には実用的な衝突攻撃が出ています。偶然の破損を見つけるには十分ですが、誰かが意図的に2つ目のファイルを作りうる場面には向きません。CRC-32はそもそもハッシュではなく、誤り検出の符号です。

パスワードをここでハッシュしてもいいですか

できますが、その結果を保存してはいけません。パスワードには、遅くてソルトの付く関数——bcrypt、scrypt、Argon2——が必要です。まさにSHA-256が速いからです。GPUは1秒に数十億個を計算します。このサイトのbcryptのツールが正しいページです。

同じ文章なのに、ほかのところではハッシュが違います

ほぼ必ず、末尾の改行か、符号化の違いです。`echo "abc"`は4バイトを送り、`echo -n "abc"`は3バイトを送ります。UTF-16で保存したファイルは、同じ文章でもUTF-8とはバイト列がまったく違います。ハッシュは、目に見えるものではなくバイト列に対して計算されます。

ハッシュを計算するためにファイルがアップロードされますか

されません。このタブの中のバイト列に対して計算し、SHAの系統はブラウザ自身のWebCryptoが処理します。だからネットワークを切っても動きます。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。