Base32
Base32 はバイナリデータを 32 文字のアルファベット(A-Z と 2-7)へ写像する。出力は大文字と数字のみで構成され、読み上げや手入力が容易である。
目的
大文字小文字を区別しない環境(ファイルシステムや DNS など)でバイナリデータを安全に表現し、手書き転記の誤りを減らす。
メカニズム
入力を 5 バイト(40 ビット)ごとのグループとして処理し、8 個の 5 ビット単位へ分割して、それぞれを 32 文字アルファベットの 1 文字へ写像する。末尾の不足分は = で 8 文字境界までパディングし、符号化長は入力の約 8/5 となる。
ユースケース
- TOTP / HOTP の共通シークレット
- DNS の NSEC3 ハッシュ表現
- BitTorrent のマグネットリンク
- 紙バックアップ鍵の手動入力
例
- 入力
HelloOutputJBSWY3DPRFC 4648 standard alphabet
よくあるエラー
- Confusing the RFC 4648 standard alphabet with the z-base-32 alternative alphabet
- State which variant is used and document its alphabet
関連用語
Base64
Base64 は任意のバイナリデータを 64 種類の印刷可能 ASCII 文字(A-Z、a-z、0-9、+、/)へ写像し、バイナリデータをテキスト専用チャネルで伝送できるようにする。 用語集
Base16
Base16 は十六進エンコーディングであり、4 ビットごとに 1 文字の十六進文字(0-9、A-F)へ写像する。RFC 4648 で定義される Base 系の最も単純な一員である。 用語集
Hexadecimal
16 進法(Hexadecimal)は 0-9 と A-F で 0-15 を表す基数 16 の記数法であり、計算機で最もよく使われる進数表記の一つである。 用語集
Multibase
Multibaseは自己記述的なエンコーディングプレフィックス方式である。単一文字のプレフィックスが後続データのエンコーディングを識別する(例:BはBase64、fはhex、zはBase58BTC)。IPFS/Multiformatsが提案した。 用語集