Base64 Kódoló és Dekódoló Online Eszköz
Szüksége van olvasható szöveget Base64 formátumba alakítani HTTP fejlécekben való használatra, vagy éppen egy API token tartalmát megfejteni? A Base64 Szövegkódoló és Dekódoló egy specializált eszköz a szöveges karakterláncokkal való munkához, amely még az olyan bonyolult eseteket is kezeli, mint a diakritikus jelek vagy speciális karakterek.
Képekkel dolgozik?
Ha a kódjadata:image/png...kezdetű, vagy fájlt szeretne szöveggé alakítani, ez az eszköz csak értelmetlen karaktereket fog mutatni. Használja speciális képátalakító eszközünket.
Hogyan működik a Base64 formátum?
Sokan használnak Base64-et naponta, de kevesen tudják, hogyan működik “a motorháztető alatt”. Ez nem mágia, hanem egyszerű matematika bitekkel.
A számítógépen a normál szöveg 8 biten (1 bájton) van tárolva. A Base64 azonban 64 karakteres “ábécét” használ (A-Z, a-z, 0-9, +, /). Mivel 2^6 = 64, egy Base64 karakter pontosan 6 bit információt reprezentál.
Átalakítási folyamat (Algoritmus):
- Három karaktert veszünk a szövegből (3 × 8 bit = 24 bit).
- Ezt a 24 bitet négy 6 bites csoportra osztjuk.
- Minden csoporthoz hozzárendelünk egy karaktert a Base64 táblázatból.
Következmény: Mivel 3 karakterből 4 karaktert készítünk, a kapott Base64 karakterlánc mindig körülbelül 33%-kal hosszabb az eredeti szövegnél.
Karakterkészlet probléma: Miért teszik tönkre a szokásos Base64 konverterek a nem-ASCII karaktereket?
Ha valaha is megpróbálta kódolni az “Őzike” szót a böngésző konzoljában a btoa('Őzike') funkcióval, valószínűleg a következő hibaüzenetet kapta: String contains characters outside of the Latin1 range.
A Base64 eredetileg 7 bites ASCII karakterekhez készült. Azonban a magyar karakterek, emoji-k és más speciális szimbólumok (UTF-8) több bájtot foglalnak el a memóriában (multibyte karakterek).
abetű = 1 bájt.őbetű = 2 bájt.- Emoji 🚀 = 4 bájt.
Eszközünk megoldja ezt a problémát. Mielőtt Base64-re kódolnánk, a szöveget helyesen UTF-8 bájtfolyammá alakítjuk át. Ennek köszönhetően biztonságosan kódolhat JSON objektumokat, magyar szövegeket és modern szimbólumokat az adatok sérülésének kockázata nélkül.
Hol használják a Base64 szövegkódolást?
Míg a Base64-es képek főként CSS/HTML-be való beágyazásra szolgálnak, addig a szöveges Base64 teljesen más felhasználási területekkel rendelkezik a backend rendszerekben:
1. HTTP Alapazonosítás (Basic Authentication)
Amikor API-hoz jelentkezik be, a fejléc gyakran így néz ki:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
E kód mögött egyszerűen a felhasználó:jelszó formátumban összekapcsolt felhasználónév és jelszó rejlik. Eszközünk segítségével könnyedén generálhatja vagy ellenőrizheti ezeket a fejléceket.
2. JSON Web Tokenek (JWT)
A modern webes alkalmazások a bejelentkezéshez ún. JWT-ket használnak. Egy ilyen token három, ponttal elválasztott hosszú karakterláncból áll. Az adatokat tartalmazó rész (Payload) egy egyszerű, Base64-ben kódolt JSON objektum.
- Tipp: Próbálja meg ide beilleszteni a JWT tokenjének középső részét, és dekódolni azt. Pontosan látni fogja, milyen adatokat tárol Önről az alkalmazás (pl. felhasználói azonosító, lejárati idő).
3. Konfigurációs fájlok (Kubernetes Secrets)
Az olyan platformok, mint a Kubernetes, a titkos adatokat (Secrets) konfigurációs YAML fájlokban tárolják, méghozzá Base64 formátumban. Ez nem titkosítás, hanem egy módja annak, hogy bináris adatokat vagy problémás karaktereket (új sorok, idézőjelek) tartalmazó szöveget tároljunk szöveges fájlban.
Mi az az “URL-biztonságos Base64 kódolás” és miért fontos?
A standard Base64 ábécé tartalmazza a + (plusz) és / (per) karaktereket. Mindkét karakternek különleges jelentése van az URL-címekben:
/elválasztja a könyvtárakat.+gyakran szóköznek értelmeződik.
Ha standard Base64-et küldene egy URL paraméterben (pl. site.com?token=ab/cd+ef), a szerver rosszul olvashatja az adatokat.
Megoldás (URL-biztonságos mód): Kapcsolónk aktiválja a Base64URL változatot (az RFC 4648 szerint), amely a következő változtatásokat végzi:
+helyett-(kötőjel) lesz./helyett_(aláhúzás) lesz.- A végén eltávolítja az
=(padding) karaktereket, amelyekre az URL-ben nincs szükség.
Tévhit: A Base64 nem titkosítás!
Fontos megérteni a lényeges különbséget, amit a kezdők gyakran összekevernek:
- Kódolás (Encoding - Base64): Adatok továbbítására szolgál. Olyan, mintha valamit bőröndbe csomagolnánk, hogy az út során ne törjön össze. Bárki, aki megtalálja a bőröndöt, kinyithatja (dekódolhatja) és láthatja a tartalmát. Nem biztonságos titkos adatokhoz.
- Titkosítás (Encryption - AES, RSA): Kulccsal zárja le az adatokat. Kulcs nélkül nem juthat hozzá a tartalomhoz.
- Hashelés (Hashing - SHA, MD5): Egyirányú folyamat (pl. jelszavak tárolására). Az eredményből nem nyerhető vissza az eredeti szöveg.
Ha jelszót vagy érzékeny adatot kell küldenie, a Base64 önmagában nem elegendő. HTTPS-t (SSL/TLS) kell használnia, amely titkosítja az átvitelt.