ファイルを選択
  1. base64hub
  2. 鍵とハッシュ
  3. MD5 ハッシュを Base64 で

MD5 を Base64 で

ファイルをドロップするかテキストを入力すると、MD5 ダイジェストが 24 文字の Base64(Content-MD5 ヘッダーやクラウドストレージの API が求める形式)と、おなじみの 32 文字の16進数で得られます。

無料 登録不要・制限なし ローカル アップロードなし 大きなファイル MD5 を 8 MB 単位でストリーム処理 更新日 2026/10/27

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

MD5 ハッシュを Base64 で求める方法

  1. アルゴリズム では MD5 があらかじめ選択されています。
  2. ファイルなら、入力 を ファイル に切り替えてドロップします。複数のファイルを一度にドロップすることもでき、それぞれに結果が出ます。200 MB を超えるファイルは 8 MB 単位で読み込まれ、進捗が % で表示されます。
  3. テキストなら、入力 を テキスト のままにして入力するか貼り付けます。入力の形式 を使えば、16進数や Base64 のデータを UTF-8 テキストではなく生のバイト列としてハッシュできます。
  4. ヘッダーや API には Base64 の値を、md5sum の出力と比べるなら Hex をコピーします。どちらも同じ 16 バイトを表しています。

ツールには、MD5 はセキュリティ目的には向かないという短い警告が表示されます。これは事実ですが、チェックサムには影響しません。

16進数か Base64 か:同じ 16 バイト

入力MD5(16進数)MD5(Base64)
空d41d8cd98f00b204e9800998ecf8427e1B2M2Y8AsgTpgAmY7PhCfg==
hello5d41402abc4b2a76b9719d911017c592XUFAKrxLKna5cZ2REBfFkg==
The quick brown fox jumps over the lazy dog9e107d9d372bb6826bd81d3542a419d6nhB9nTcrtoJr2B01QqQZ1g==

Content-MD5 で最もよくある間違いは、16進数のテキストを Base64 エンコードすることです。fox の文の場合、OWUxMDdkOWQzNzJiYjY4MjZiZDgxZDM1NDJhNDE5ZDY= という 44 文字になり、どのサーバーも受け付けません。長さを見ればすぐにわかります。24 文字なら正しく、44 文字なら誤って16進数をエンコードしています。

Base64 の MD5 が求められる場面

  • Content-MD5 リクエストヘッダー(RFC 1864)。Amazon S3 はアップロード時にこれをチェックし、Azure Blob Storage も同様に、本文が一致しなければエラーを返します。
  • Google Cloud Storage はオブジェクトの md5Hash を Base64 で報告し、gsutil hash も16進数を指定する -h を付けない限り Base64 で出力します。
  • Azure Blob のプロパティ も Content-MD5 を Base64 で保存しています。
  • 古い API やメールシステム:SHA ベースのチェックサムが登場する前にこのヘッダーを採用したもの。

16進数のままの場所もあります。md5sum や大半のダウンロードページ、それに S3 のシングルパートアップロードの ETag で、これは引用符で囲んだ16進数の MD5 です。マルチパートの S3 の ETag は - とパート数で終わり、そもそもファイル全体の MD5 ではないので、このツールの結果と一致することはありません。

コマンドラインとコードで MD5 を Base64 にする

openssl md5 -binary file.bin | base64
md5sum file.bin | cut -d' ' -f1 | xxd -r -p | base64
import base64, hashlib

with open("file.bin", "rb") as f:
    digest = hashlib.file_digest(f, "md5").digest()
print(base64.b64encode(digest).decode())

hashlib.file_digest には Python 3.11 以降が必要です。それより古いバージョンでは、ファイルを分割して読み込んで update() を呼んでください。Node.js では、crypto.createHash("md5").update(buffer).digest("base64") で直接 Base64 の形式が得られます。新しい API が SHA-256 のチェックサムを提供しているなら、そちらを優先してください。SHA-256 を Base64 で で同じように値を求められます。ほかのスニペットは OpenSSL と Python のページにあります。

よくある質問

Content-MD5 ヘッダーとは何ですか?

RFC 1864 で定められた HTTP ヘッダーで、本文の 16 バイトの MD5 ダイジェストを Base64 にしたものを運びます。Amazon S3 や Azure Blob Storage などのストレージサービスは、転送中に壊れたアップロードを拒否するのにこれを使います。

Base64 の MD5 が 44 文字になるのはなぜですか?

16 バイトの生の値ではなく、32 文字の16進数の文字列をエンコードしたからです。正しい MD5 の Base64 は、常に == で終わる 24 文字です。エンコードする前に、バイナリ出力でハッシュしてください(OpenSSL なら -binary、Python なら .digest())。

MD5 の16進数のチェックサムを Base64 に変換するには?

16進数をバイト列にデコードし、それを Base64 エンコードします。9e107d9d372bb6826bd81d3542a419d6 は nhB9nTcrtoJr2B01QqQZ1g== になります。16進数を Base64 に変換 なら貼り付けるだけです。

MD5 は今でも安全に使えますか?

偶発的な破損の検出になら使えます。攻撃者が手を加えられるものには使えません。MD5 の衝突はノートパソコンで作れるので、異なる 2 つのファイルが同じハッシュを持ちうるからです。改ざんに対する整合性には SHA-256 を、パスワードには Argon2 や bcrypt などのパスワードハッシュを使ってください。