Base32 Kodlayıcı ve Kod Çözücü

Metni, onaltılık baytları veya dosyaları Base32'ye dönüştürün ve geri çevirin. RFC 4648 alfabesini, Base32hex, Crockford veya z-base-32'yi seçin; dolguyu ve büyük/küçük harf kullanımını ayarlayın.

Tamamen tarayıcınızda çalışır. Hiçbir veri yüklenmez.

Nasıl kullanılır

  1. Metni Base32'ye dönüştürmek için "Kodla", Base32'yi yeniden metne dönüştürmek için "Kodu çöz" seçeneğini seçin.
  2. "Varyant" ayarından bir varyant seçin. RFC 4648 varsayılandır; TOTP gizli anahtarları ve çoğu kütüphane bu varyantı kullanır.
  3. Girdinizi yazın veya yapıştırın ya da bir dosya açın. Sonuç siz yazarken güncellenir.
  4. Sonucu kopyalayın veya dosya olarak indirin.

Base32 nedir?

Base32, ikili veriyi 32 yazdırılabilir karakterle temsil eder. Her karakter 5 bit taşır; bu nedenle her 5 girdi baytı 8 çıktı karakterine dönüşür. Çıktı girdiden yaklaşık %60 daha büyüktür, bu da Base64'ten daha fazla ek yük demektir; ancak alfabe küçük harflerden ve kolayca karıştırılan sembollerden kaçınır.

RFC 4648'de tanımlanan standart alfabe A-Z harflerini ve 2-7 rakamlarını kullanır. 0, 1, 8 ve 9 rakamları O, I ve B harfleriyle karıştırılmasın diye dışarıda bırakılır. Girdi uzunluğu 5 baytın katı olmadığında çıktı, = ile 8 karakterin katına tamamlanır.

Base32 nerelerde kullanılır?

  • İki faktörlü kimlik doğrulama. Kimlik doğrulayıcı uygulamalardaki TOTP ve HOTP gizli anahtarları (bir otpauth:// bağlantısındaki secret= değeri) Base32 dizeleridir.
  • Büyük/küçük harf duyarsız sistemler. Alfabe yalnızca tek tip harf kullandığından Base32, büyük/küçük harf ayrımı yapmayan dosya sistemlerinde, DNS etiketlerinde ve e-posta adreslerinde bozulmadan kalır.
  • Elle yazılan kodlar. Lisans anahtarları, onion adresleri ve kısa tanımlayıcılar, sesli okunmaları ve yazılmaları daha kolay olsun diye Base32 kullanır.

Boyut okunabilirlikten daha önemliyse Base64 daha kompakttır. Karıştırılabilecek karakterler içermeyen kısa tanımlayıcılara ihtiyacınız varsa Crockford Base32 ile Base58'i karşılaştırın.

Base32 varyantları

VaryantAlfabeTipik kullanım
RFC 4648A-Z 2-7TOTP gizli anahtarları, genel amaçlı
Base32hex0-9 A-VSıralama düzeni ham baytlarla aynı, DNSSEC NSEC3
Crockford0-9 A-Z (I, L, O, U hariç)Okunabilir kimlikler, ULID
z-base-32küçük harf, yeniden sıralanmışİnsan odaklı anahtarlar, OpenPGP WKD, ZRTP

Kodda Base32 kullanımı

# Python
import base64
base64.b32encode(b'hello')        # kodlama
base64.b32decode('NBSWY3DP')      # kod çözme

// Node.js'te yerleşik Base32 yok; "hi-base32" gibi bir paket kullanın
// Go (import "encoding/base32")
base32.StdEncoding.EncodeToString(data)

Teknik özellikler

AlfabeA-Z 2-7
Çıktı boyutu5 bayt başına 8 karakter (%160)
Dolgu= ile 8 karakterin katına tamamlanır
StandartRFC 4648, bölüm 6
Büyük/küçük harf duyarlıHayır

Örnekler

Girdi (UTF-8)Çıktı
Hello, World!JBSWY3DPFQQFO33SNRSCC===
Base64.isIJQXGZJWGQXGS4Y=
你好4S62BZNFXU======

Sıkça sorulan sorular

Base32 büyük/küçük harfe duyarlı mı?

RFC 4648 alfabesi büyük harflerle tanımlanmıştır, ancak bu kod çözücü küçük harfli girdiyi de kabul eder. Küçük harfli çıktıya ihtiyacınız varsa "Küçük harf" seçeneğini kullanın.

Base32 dizem neden = işaretleriyle bitiyor?

Eşittir işaretleri, son bloğu 8 karaktere tamamlayan dolgudur. Çoğu TOTP uygulaması dahil birçok sistem dolgusuz Base32'yi kabul eder. Dolguyu kaldırmak için "Dolgu" seçeneğini kapatın.

Base32, orijinal veriden ne kadar büyüktür?

Her 5 bayt 8 karaktere dönüşür; bu nedenle Base32 çıktısı girdinin yaklaşık 1,6 katı boyutundadır. Base64 ise yaklaşık 1,33 katıdır.

Bu araçla bir TOTP gizli anahtarının kodunu çözebilir miyim?

Evet. Gizli anahtarı "Kodu çöz" sekmesine yapıştırın ve ham anahtar baytlarını görmek için çıktı olarak "Onaltılık" seçin. Gizli anahtardaki boşluklar yok sayılır.