Base32 エンコーダー / デコーダー
RFC 4648・Crockford・z-base-32 の各アルファベットで Base32 をエンコード/デコード。パディングと大文字小文字を設定でき、テキストもファイルもブラウザ内で処理。
入力内容とファイルはブラウザ内に留まります
エンコードするテキストを入力するか、デコードする Base32 を貼り付けてください(下にファイルをドロップすることもできます)。
ここにファイルをドラッグ&ドロップ
ファイルを選択した場合、テキスト入力の代わりに使用されます。
エンコードまたはデコードの結果がここに表示されます。
このページの内容
テキストやファイルを Base32 にエンコードし、RFC 4648・Crockford・z-base-32 の 3 種類のアルファベットでデコードできます。処理はすべて Rust からコンパイルした WebAssembly モジュールがブラウザ内で行うため、貼り付けたシークレットは送信されません。
詳細な機能
Base32 は 1 文字に 5 ビットを格納し、英字と数字だけを使うため、大文字小文字が変わっても壊れず、手入力や読み上げにも向いています。RFC 4648(A–Z、2–7)は認証アプリの TOTP シークレットや Tor の onion アドレスで使われるアルファベットです。Crockford(0–9 と I・L・O・U を除く A–Z)は人が扱うことを想定しており、デコード時に I と L を 1、O を 0 として読み、ハイフンを無視します。z-base-32 は読みやすさ重視で並べた小文字のアルファベットで、パディングは付きません。
8 文字の倍数にそろえる = パディングは、必須・オプション・なしから選べます。文字ケース で出力を大文字または小文字に固定でき、自動 はアルファベット本来の表記を保ちます。デコードはどのアルファベットでも大文字小文字を区別せず、空白/改行を許可 がオンならスペースや改行も読み飛ばします。
テキストは選んだ文字セット(UTF-8、UTF-16LE、UTF-16BE、ASCII、ISO-8859-1)でバイト列に変換されます。ファイルは選択またはドロップでき、Web Worker で進捗バーと キャンセル 付きで読み込まれます。デコード結果が有効なテキストでない場合はその旨が表示され、ダウンロード で生のバイト列を保存できます。
実用例
3 種類のアルファベット: hello は NBSWY3DP(RFC 4648)、D1JPRV3F(Crockford)、pb1sa5dx(z-base-32)になります。
パディングとケース: Hi はパディング 必須 で JBUQ====、パディングなし で JBUQ になり、文字ケース を 小文字 にすると jbuq==== になります。
大文字小文字を区別しないデコード: JBSWY3DPEE====== も jbswy3dpee====== も Hello! になります。パディングを オプション にすれば、パディングなしの JBSWY3DPEE もデコードできます。
Crockford の許容性: Crockford アルファベットでは、DIJPRV3F(1 の代わりに英字 I)も d1jp-rv3f(小文字とハイフン)も hello にデコードされます。
このツールの使い方
テキストを入力するかファイルを選ぶ
入力 (テキスト) にテキストを入力または貼り付けるか、ファイルをページにドロップするか ファイルを選択 をクリックします。
アルファベットとパディングを選ぶ
アルファベット で RFC 4648 (A-Z2-7)、Crockford (0-9A-Z)、z-base-32 のいずれかを選びます。パディング、文字ケース、テキストが UTF-8 以外なら テキスト文字セット も設定します。
エンコードまたはデコードする
エンコード で Base32 を生成し、デコード で元のテキストやバイト列に戻します。文字列を作成したときと同じアルファベットを使ってください。
コピーまたはダウンロードする
コピー で結果をクリップボードへ、ダウンロード でファイルに保存します。バイナリの結果はダウンロードのみ可能です。
ヒントとベストプラクティス
- Base32 の出力は入力より約 60% 長くなります(5 バイトごとに 8 文字)。大文字小文字の区別が問題にならないなら Base64 の方がコンパクトです。
otpauth://の QR コードに含まれる TOTP シークレットは RFC 4648 の Base32 で、パディングがないことが多いので オプション を選びます。JBSWY3DPEHPK3PXPは 10 バイトの生データになるため、ダウンロード で保存してください。- パディングが 必須 のままだと
JBSWY3DPEEのような入力は拒否されます。オプション に切り替えてください。 - アルファベットに互換性はありません。
pb1sa5dxは z-base-32 でのみhelloになり、RFC 4648 としては無効です。 - 空白/改行を許可 がオンの間は、貼り付けたキーのスペースや改行は無視されます。