araç köşesi

Base32 Kodlama ve Çözme

Metni Base32'ye kodlayın ya da Base32 dizesini (2FA/TOTP anahtarı dahil) çözün

Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.

Nasıl çalışır?

Sol panele metninizi yazın ya da çözmek istediğiniz Base32 dizesini yapıştırın, ardından İşlem yönü ayarından Kodla ya da Çöz'ü seçin; sonuç sağ panelde anında görünür. Örneğin "foobar" kelimesi RFC 4648 alfabesiyle MZXW6YTBOI====== olur: altı bayt on karaktere dönüşür, sondaki altı = işareti diziyi 8'in katına tamamlayan dolgudur. Çözerken küçük harf, boşluk ve tire sorun değildir; iki adımlı doğrulama (2FA) kurulumunda gösterilen "jbsw y3dp ehpk 3pxp" gibi dörtlü gruplar olduğu gibi yapıştırılabilir. Çözülen baytlar okunur bir metin değilse —2FA gizli anahtarları böyledir— araç bozuk harfler basmak yerine baytları hex olarak gösterir ve sonuç satırında bunu söyler. Dizide alfabede olmayan bir karakter varsa (RFC alfabesinde 0, 1, 8 ve 9 yoktur) araç tahmin yürütmez, kaçıncı karakter olduğunu yazar. Metniniz tarayıcınızın içinde işlenir, hiçbir sunucuya gönderilmez.

Bu araç base32 kodlama, base32 decode, base32 encode aramalarıyla da biliniyor.

Base32 nedir?

Base32, ikili veriyi yalnız 32 farklı karakterle yazmanın yoludur. Veri 5'er bitlik parçalara bölünür, her parça 0-31 arası bir sayıdır ve alfabedeki bir karaktere karşılık gelir; beş bayt (40 bit) tam sekiz karakter eder. Standardı RFC 4648'dir. Büyük-küçük harf ayrımı olmadığı ve karışan karakterleri dışarıda bıraktığı için elle yazılan anahtarlarda, 2FA kurulum kodlarında ve harf duyarsız dosya sistemlerinde tercih edilir.

TOTP (zaman tabanlı tek kullanımlık parola) nedir?

TOTP, iki adımlı doğrulama uygulamalarının her 30 saniyede bir ürettiği 6 haneli kodun yöntemidir (RFC 6238). Uygulama ile site kurulumda bir gizli anahtarı paylaşır; bu anahtar QR kodunun içinde ya da elle girilecek Base32 dize olarak verilir. Sonrasında iki taraf aynı anahtar ve aynı saatle aynı kodu bağımsız olarak hesaplar. Anahtarı bilen herkes kodu üretebildiği için Base32 dize bir parola gibi korunmalıdır.

Base32 ile Base58 arasındaki fark nedir?

İkisi de karışan karakterlerden kaçınır ama yöntemleri farklıdır. Base32 veriyi 5 bitlik sabit gruplara böler; her karakter veride belli bir yere denk gelir, dolgu ve blok yapısı vardır, büyük-küçük harf ayrımı yoktur. Base58 ise tüm veriyi tek bir büyük sayı gibi okuyup 58 tabanında yazar; daha kısa sonuç verir ama büyük-küçük harf ayrımı vardır ve bit grupları olmadığı için hesap daha ağırdır. 2FA anahtarları Base32, Bitcoin adresleri ve IPFS kimlikleri Base58 kullanır.

2FA anahtarını çözmek güvenli mi, ne görürsünüz?

Google Authenticator gibi uygulamalara QR kodu yerine elle girilen kurulum anahtarı Base32'dir: RFC 4648 alfabesi, çoğu zaman dolgusuz ve dörderli gruplarla yazılır. Bu anahtarı çözdüğünüzde anlamlı bir metin çıkmaz; 10 ya da 20 baytlık rastgele bir sayı çıkar ve araç onu hex olarak gösterir. Bu normaldir, anahtar zaten bir parola değil, tek kullanımlık kodların üretildiği tohumdur.

Bu anahtarı ele geçiren herkes sizin 2FA kodlarınızı üretebilir. Araç ağa çıkamadığı için anahtar bu sayfadan dışarı gitmez; yine de anahtarı ekran görüntüsü, e-posta ya da not uygulamasında saklamayın. Çözme işlemi yalnız anahtarın doğru kopyalanıp kopyalanmadığını kontrol etmek içindir: karakter sayısı ve geçersiz harf uyarısı yazım hatasını ortaya çıkarır.

Hangi alfabeyi seçmelisiniz?

Karşınızdaki dize büyük harf ve 2-7 rakamlarından oluşuyorsa RFC 4648'dir; 2FA anahtarları, bazı dosya adları ve DNS kayıtları bunu kullanır. İçinde 0, 1, 8 ya da 9 geçiyorsa büyük olasılıkla base32hex ya da Crockford'dur. base32hex, kodlanan verinin sıralamasını korur: baytlar küçükten büyüğe sıralıysa Base32 dizeleri de öyle sıralanır, veritabanı anahtarlarında bu yüzden seçilir.

Crockford alfabesi insanların okuyup yazması için tasarlandı: birbirine karışan I, L ve O harflerini dışarıda bırakır, U'yu istenmeyen kelimeler oluşmasın diye kullanmaz. Çözerken I ve L'yi 1, O'yu 0 okur; biri telefonda kodu yanlış yazsa bile doğru bayta ulaşılır. Crockford dolgu kullanmadığı için Dolgu ayarı bu alfabede etkisizdir.

  • RFC 4648: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
  • base32hex: 0123456789ABCDEFGHIJKLMNOPQRSTUV
  • Crockford: 0123456789ABCDEFGHJKMNPQRSTVWXYZ

Sık sorulanlar

Base32 dizesi nasıl çözülür?

Dizeyi sol panele yapıştırın ve İşlem yönü olarak Çöz'ü seçin. Sonuç okunur metinse metin, değilse bayt bayt hex olarak görünür. Küçük harfle ya da boşluklu yazılmış olması sorun değildir; sondaki = işaretleri de isteğe bağlıdır.

Base32 ile Base64 arasındaki fark nedir?

Base64 64 karakter kullanır ve daha kısadır: 3 bayt 4 karakter olur. Base32 yalnız büyük harf ve rakam kullanır, 5 bayt 8 karakter olur; yani yaklaşık yüzde 20 daha uzundur. Karşılığında büyük-küçük harf ayrımı yoktur, sesli okunabilir ve dosya adında sorun çıkarmaz. 2FA anahtarlarının Base32 olmasının sebebi budur.

Sondaki = işaretleri ne işe yarar, silebilir miyim?

Base32 veriyi 5 baytlık bloklarla işler. Son blok eksik kalınca dizeyi 8 karakterin katına tamamlamak için = eklenir. Çözerken bu araç dolgusuz diziyi de okur; birçok uygulama (2FA dahil) dolguyu hiç yazmaz. Başka bir sisteme verecekseniz o sistemin dolgu isteyip istemediğine bakın.

"tam bayta denk gelmiyor" hatası ne demek?

Base32'de son blokta 1, 3 ya da 6 karakter kalamaz; bu uzunluklar hiçbir bayt sayısına karşılık gelmez. Bu hatayı görüyorsanız dizeyi kopyalarken bir karakter eksik kalmış ya da fazladan eklenmiştir. Kaynağa bakıp diziyi baştan kopyalayın.