コンテンツへスキップ
uencoder

Base32

Base32 はバイナリデータを 32 文字のアルファベット(A-Z と 2-7)へ写像する。出力は大文字と数字のみで構成され、読み上げや手入力が容易である。

目的

大文字小文字を区別しない環境(ファイルシステムや DNS など)でバイナリデータを安全に表現し、手書き転記の誤りを減らす。

メカニズム

入力を 5 バイト(40 ビット)ごとのグループとして処理し、8 個の 5 ビット単位へ分割して、それぞれを 32 文字アルファベットの 1 文字へ写像する。末尾の不足分は = で 8 文字境界までパディングし、符号化長は入力の約 8/5 となる。

ユースケース

  • TOTP / HOTP の共通シークレット
  • DNS の NSEC3 ハッシュ表現
  • BitTorrent のマグネットリンク
  • 紙バックアップ鍵の手動入力

例

  • 入力
    Hello
    Output
    JBSWY3DP

    RFC 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

関連用語

関連ツール

References