Ugrás a tartalomhoz

Base32 kódolás és dekódolás

Alakíts szöveget RFC 4648 szerinti Base32 formátumba és vissza, base32hex és kitöltés opcióval.

Bemenet
Kimenet

Base32 kódolás és dekódolás

A Base32 32 egyértelmű karakterrel ábrázolja a bináris adatokat – az A–Z betűkkel és a 2–7 számjegyekkel –, ezért ott is megbízható, ahol a Base64 törékeny: túléli a kis- és nagybetűket meg nem különböztető rendszereket, elkerüli az URL-ekben és fájlnevekben ütköző karaktereket, és könnyen felolvasható vagy kézzel begépelhető. Leggyakrabban a kétlépcsős azonosítás alkalmazások titkos kulcsaként, DNS-rekordokban, valamint ni: URI-kban és fájlmegosztási hash-ekben találkozhatunk vele.

Szöveget beillesztve kódolhatjuk, Base32 karakterláncot beillesztve pedig visszafejthetjük – az irányt a módválasztóval állíthatjuk. Az eszköz az RFC 4648 szabványt követi: a bemeneti szöveg először UTF-8 bájtokká alakul, így az ékezetes karakterek és az emodzsik helyesen kódolódnak és dekódolódnak. Az ábécé-választó négy ábécét kínál: a szabványost, a base32hex-et (0–9, A–V), amelynél a kódolt forma rendezési sorrendje megegyezik a nyers bájtokéval, a Crockford Base32-t és a z-base-32-t.

A Crockford Base32 a 0–9 számjegyeket és az A–Z betűket használja az I, L, O és U nélkül. Olyan kódokhoz készült, amelyeket az emberek felolvasnak és újragépelnek: nincsenek összetéveszthető karakterek, a kötőjelek figyelmen kívül maradnak, dekódoláskor pedig az I és az L 1-ként, az O 0-ként értelmeződik. A z-base-32 úgy rendezi át az ábécét, hogy a legkönnyebben olvasható és leírható karakterek kerüljenek elöl, és kisbetűs kimenetet ad. Egyik sem definiál =-jeles kitöltést.

A standard és a base32hex kimenetet az = jelekkel a RFC által előírt nyolc karakter többszörösére egészítjük ki. Egyes rendszerek – köztük a TOTP-titkok – ezt elhagyják, ezért egyetlen jelölőnégyzettel kikapcsolható. A dekódolás megbocsátó: elfogadja a kisbetűs bemenetet, a hiányzó kitöltést, a szóközöket és a sortöréseket, és ha a bemenet valójában nem Base32, világos üzenet jelzi.

Minden a böngészőben fut, így semmi, amit beillesztünk, nem kerül feltöltésre – ez akkor számít, ha egy hitelesítő alkalmazás titkos kulcsát fejtjük vissza. Az eredményt másolhatjuk, letölthetjük .txt fájlként, vagy visszaküldhetjük a bemenetbe, hogy átalakításokat láncoljunk.

Gyakori kérdések

Mire használják a Base32-t?
Főleg olyan adatokhoz, amelyeket emberek olvasnak, gépelnek át vagy kis- és nagybetűket nem megkülönböztető rendszerekben tárolnak: kétfaktoros hitelesítés (TOTP) titkos kulcsaihoz, DNS-rekordokhoz, fájl-hash-ekhez. A 32 karakteres ábécé kerüli az összetéveszthető jeleket.
Miben tér el a Base32 a Base64-től?
A Base32 32 karaktert használ 64 helyett, ezért a kimenete körülbelül 20%-kal hosszabb. Cserébe nem érzékeny a kis- és nagybetűkre, és nem tartalmaz +, / vagy = jelet — biztonságosabb URL-ekben, fájlnevekben és diktáláskor.
Mely Base32-változatok támogatottak?
Négy ábécé: a szabványos (RFC 4648), a base32hex (0–9, majd A–V, ami megőrzi a bájtok rendezési sorrendjét), a Crockford (nincs I, L, O vagy U; dekódoláskor az I és az L 1-ként, az O 0-ként értelmeződik, a kötőjeleket pedig figyelmen kívül hagyja) és a z-base-32 (kisbetűs, az emberekhez igazított sorrend). Kódoláshoz és dekódoláshoz ugyanazt válasszuk.
Szükségem van a = kitöltésre?
A szigorú RFC 4648 szerinti adatfolyamok nyolc karakter többszörösére kitöltve, =-jelekkel végződnek, de sok valós felhasználásban – például a TOTP-titkoknál – elhagyják. Kódoláskor a kitöltés a szabványos és a base32hex ábécénél kapcsolható; a Crockford és a z-base-32 soha nem használja. A dekódolás mindkét formát elfogadja.
Feltöltődik valahová a szövegem?
Nem. A kódolás és a dekódolás teljes egészében a böngésződben fut, és a beillesztett szöveg soha nem hagyja el az eszközödet — hitelesítő kulcsokhoz is biztonságos.