Base32 エンコード & デコード
無料オンライン Base32 エンコード & デコード ツール。100% ローカル処理 — データは端末の外に出ません。
結果がここに表示されます...
入力 → エンコード
Usage Guide
Base32 について
Base32(RFC 4648)は、32 個の ASCII 文字(A〜Z と 2〜7)を使用してバイナリデータをエンコードします。DNS ラベル、ファイル名、二要素認証の秘密鍵など、英数字のみ・大文字小文字を区別しない出力が必要な場面向けに設計されています。
使い方
Base32 は可逆変換です。同じツールでエンコードとデコードが行えます:
出力形式
出力は大文字の A〜Z と数字 2〜7 を使用し、8 文字の倍数になるよう = でパディングされます。例:「hello」→「NBSWY3DPEB3W64TMMQ======」
Base32 と他のエンコードの比較
用途に合った適切なエンコードを選んでください:
FAQ
Q: Base32 の出力末尾に = が付くのはなぜですか?
A: Base32 は 1 文字あたり 5 ビットをエンコードし、5 バイト(40 ビット)単位でまとめて処理します。入力の長さが 5 の倍数でない場合、最後のブロックを完成させるためにパディング文字(=)が追加されます。コンパクトに保存する場合はパディングを削除でき、デコード前に再度追加できます。
Q: Base32 の実際の使用例は何ですか?
A: 最も一般的な実用例は TOTP/HOTP シークレット です。Google 認証アプリ、Authy、RFC 6238 対応のすべてのアプリが共有シークレットを Base32 でエンコードします。また、DNS 名(NSEC3 レコード)、Tor .onion アドレス(v3)、ビットコイン Bech32 アドレス、大文字小文字が区別されないファイルシステムでの識別子にも使用されます。
Q: パディングなしの Base32 はデコードできますか?
A: はい。このツールは末尾の = パディングの有無に関わらず Base32 入力を受け付けます。デコード時にパディングは自動的に処理されます。
Q: Base32 と Base32Hex の違いは何ですか?
A: 標準 Base32(RFC 4648 §6)は A〜Z + 2〜7 を使用します。Base32Hex(RFC 4648 §7)は 0〜9 + A〜V を使用し、生のバイナリデータと同じ順序でソートできるため、ソート済み検索に便利です。このツールは標準 Base32 を実装しています。
Q: Base32 は暗号化やセキュリティの仕組みですか?
A: いいえ。Base32 は純粋なエンコードスキームで、完全に可逆であり、機密性や完全性の保証は一切ありません。Base32 文字列を見た人は誰でも即座にデコードできます。暗号化には AES-256-GCM または ChaCha20-Poly1305 を使用してください。
Use Cases
推奨:TOTP/HOTP シークレット
二要素認証アプリ(Google 認証アプリ、Authy、Microsoft Authenticator)は共有 HMAC シークレットを Base32 文字列でエンコードします。2FA 設定の QR コードをスキャンすると、埋め込みデータには Base32 でエンコードされた鍵が含まれています。これが Base32 の最も主要な実用例です。
- ✅ Base32 は TOTP/HOTP シークレットの標準エンコード(RFC 6238、RFC 4226)
- ✅ 認証アプリ対応の共有シークレット生成時に Base32 を使用
- ❌ Base32 エンコードされたシークレットを暗号化またはハッシュされた値と混同しないこと。可逆です
推奨:DNS セーフ・大文字小文字不問の識別子
Base32 の出力は英数字のみ(+、/、= なし)で構成されます。大文字小文字不問の特性と組み合わせると、DNS ラベル、大文字小文字不問のファイルシステム(Windows、macOS HFS+)上のファイル名、メールのローカル部に安全に使えます。
- ✅ DNS セーフな識別子に Base32(NSEC3 ハッシュは Base32Hex を使用)
- ✅ 大文字小文字変換を生き残る必要があるファイル名に Base32
- ✅ Tor v3 .onion ホスト名に Base32
- ❌ 大文字小文字が区別される文脈でコンパクトなバイナリ変換が必要なら Base64 を優先
許容:手書きコード
Base32 は一部のフォントで視覚的に紛らわしい文字(0/O、1/l)を避けます。2〜7 の数字範囲は、0 と 1 を除外するために特に選ばれています。これにより、印刷コード、読み上げ識別子、アクティベーションキーに適しています。
- ✅ ユーザーが手動で入力する可能性があるアクティベーションコードやライセンスキーに Base32
- ⚠️ より厳密な可読性が必要な場合は Crockford Base32 を検討(I、L、O、U を除外)
- ❌ サイズが重要な大きなバイナリデータに Base32 は不向き。出力は入力の約 1.6 倍
非推奨:汎用バイナリエンコード
任意のバイナリデータ(画像、暗号化キー、証明書)の保存・送信には Base64 の方が適切です。25% コンパクトで広くサポートされています。Base32 の主要な利点(大文字小文字不問)はデータが表示されない場合には無意味です。
- ❌ JSON・XML・HTTP ヘッダーへのバイナリファイル埋め込みに Base32 は不適切。Base64 を使用
- ❌ PEM 証明書や SSH 鍵の素材に Base32 は不適切。Base64 を使用
- ✅ すべての汎用バイナリ変換には Base64
ベストプラクティスまとめ
- 大文字小文字不問・英数字のみの出力が必要な場合に Base32 を使用。主な用途は TOTP シークレットと DNS セーフな識別子。
- Base32 は暗号化ではありません。出力は誰でも完全に復元できます。
- 大文字小文字が区別されるシステムでコンパクトなバイナリエンコードが必要なら、Base64 を優先してください(25% 効率的)。
- 標準アルファベットは A〜Z + 2〜7(RFC 4648 §6)。数字 0 と 1 は転記ミスを減らすために意図的に除外されています。