Base64 Kódoló Dekódoló - Ingyenes Online Base64 Konvertáló Eszköz
Ingyenes base64 kódoló dekódoló eszköz. Szöveg konvertálása Base64-re vagy Base64 karakterláncok azonnali dekódolása. Támogatja a szabványos és URL-biztos kódolást. Nem szükséges bejelentkezés.
Base64 Kódoló/Dekódoló
Szöveg konvertálása Base64 kódolásba és vissza
Dokumentáció
Mi a Base64-kódolás?
A Base64 bármilyen adatot, beleértve a képekhez hasonló bináris adatokat is, olyan egyszerű szöveggé alakít, amely csak betűkből, számjegyekből és néhány szimbólumból áll. A Base64-kódoló az adatokat ebbe a szöveges formába alakítja. A Base64-dekódoló visszaalakítja az eredeti adatokat. A programok a Base64-et arra használják, hogy a bináris adatokat biztonságosan továbbítsák olyan rendszereken, például e-mailben vagy JSON-ban, amelyek egyszerű szöveget várnak.
A Base64 ábécéje 64 karakterből áll:
- Nagybetűk: A–Z (26 karakter)
- Kisbetűk: a–z (26 karakter)
- Számjegyek: 0–9 (10 karakter)
- Két szimbólum, általában
+és/(2 karakter)
Egyes rendszerek kiegészítésként egyenlőségjelet (=) is használnak a kimenet végén. A kitöltés nem része a 64 karakterből álló ábécének; csak a hossz kitöltésére szolgál.
Miért van szükség a Base64-re?
Számos régebbi szöveges protokollt, köztük az e-mailt (SMTP) és a HTTP egyes részeit, 7 bites ASCII-szöveg továbbítására tervezték. Ezek sérülést okozhatnak a nyers bináris bájtokban, például egy JPEG-kép bájtjaiban. A Base64 ezt úgy kerüli el, hogy minden bájtot csak biztonságos, nyomtatható karakterekkel ábrázol. Ezért haladnak át gyakran először Base64-kódoláson az e-mail-mellékletek, a weboldalakba ágyazott képek és a JSON-ban lévő bináris mezők.
A Base64 nem tömörítés és nem titkosítás. A kódolt kimenet mindig nagyobb a bemenetnél, és bárki visszafejtheti jelszó vagy kulcs nélkül.
Az eszköz használata
- Írjon be vagy illesszen be szöveget a beviteli mezőbe.
- Válassza az „Encode to Base64” lehetőséget a szöveg Base64-re alakításához, vagy a „Decode from Base64” lehetőséget egy Base64-karakterlánc szöveggé alakításához.
- Kapcsolja be az élő átalakítást, hogy a kimenet gépelés közben automatikusan frissüljön.
- Másolja ki az eredményt a másolás gombbal.
Az eszköz szabványos Unicode-szöveget olvas és ír, ezért az ékezetes betűk, a szimbólumok és az emodzsik is megfelelően kódolhatók és dekódolhatók, nem csak az egyszerű angol betűk.
Hogyan működik a Base64-kódolás?
A Base64 a bemenet minden 3 bájtját (24 bit) 4 kimeneti karakterré alakítja (amelyek mindegyike 6 bitet tartalmaz), mivel 24 osztva 6-tal 4.
- A bemeneti bájtokat bináris formában írja le.
- A biteket 24 bites csoportokba rendezi (3 bájt).
- Minden 24 bites csoportot négy 6 bites részre bont.
- Minden 6 bites számot (0 és 63 között) kikeres a Base64 ábécéjében, majd leírja a hozzá tartozó karaktert.
Ha a bemenet hossza nem 3 többszöröse, az utolsó csoport rövidebb. A kódoló nullabitekkel egészíti ki, majd = karaktereket ad a kimenethez, hogy az eredmény továbbra is 4 karakterből álló csoportokban jelenjen meg:
- Egy fennmaradó bájtból 2 Base64-karakter és
==keletkezik. - Két fennmaradó bájtból 3 Base64-karakter és egy
=keletkezik.
Base64-kódolási példa
A „Hello” szó kódolása:
- ASCII-értékek: 72, 101, 108, 108, 111
- Binárisan:
01001000 01100101 01101100 01101100 01101111 - Az első 3 bájt (24 bit) négy 6 bites csoportra bontva:
010010 000110 010101 101100, amelyek a 18, 6, 21 és 44 számoknak felelnek → karakterek:S,G,V,s. - A fennmaradó 2 bájt (16 bit) három 6 bites csoportra bontva, a végén hozzáadott 2 nullbittel:
011011 000110 111100, amelyek a 27, 6 és 60 számoknak felelnek → karakterek:b,G,8. - Mivel 2 bájt maradt fenn, a végére egy
=kerül. - Eredmény:
SGVsbG8=
A dekódolás megfordítja ezeket a lépéseket: minden karakter visszaalakul a hozzá tartozó 6 bites számmá, a bitek egyetlen folyammá állnak össze, majd ezt a folyamot 8 bites bájtokként olvassa ki.
A Base64-kódolt hossz képlete
n bájt bemenet esetén a kódolt hossz karakterekben:
encoded_length = 4 × ⌈n / 3⌉
ahol a ⌈x⌉ a felfelé kerekítést jelenti a legközelebbi egész számra. A képlet megmutatja, miért körülbelül egyharmaddal hosszabb mindig a Base64 kimenete a bemenetnél: minden 3 bemeneti bájtra 4 kimeneti karakter jut, ami 33%-os növekedést jelent.
Hol használják a Base64-et?
- E-mail-mellékletek (MIME). Az e-mailt szöveges adatokhoz tervezték, ezért a fájlmellékleteket küldés előtt Base64-re alakítják, így a mellékelt fájl körülbelül 33%-kal nagyobb lesz az eredetinél.
- Adat-URI-k. A kis képek közvetlenül beágyazhatók a HTML- vagy CSS-kódba szövegként, például így:
data:image/png;base64,iVBORw0KGgo..., így nincs szükség külön fájlkérésre. Ez kis fájloknál működik a legjobban, mivel a nagyok felduzzasztják az oldalt, és nem gyorsítótárazhatók külön. - API-k és JSON. A JSON-nak nincs natív módja nyers bináris adatok tárolására, ezért a JSON API-n keresztül küldött bináris fájlokat gyakran először Base64-re kódolják.
- HTTP-alapszintű hitelesítés. Az
Authorizationfejléc a felhasználónevet és a jelszót Base64-ként kódolja, például:Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Ez önmagában nem biztonságos; a hitelesítő adatokat bárki elolvashatja, aki elfogja őket, ezért az alapszintű hitelesítést csak HTTPS-en szabad használni. - JSON Web Tokenek (JWT). A JWT három része közül mindegyiket Base64URL-lel kódolják, amely URL-ben biztonságosan elhelyezhető változat.
- Bináris adatok szövegként való tárolása. A kizárólag szöveget elfogadó adatbázisok vagy konfigurációs fájlok néha Base64-karakterláncként tárolják a bináris adatokat.
A Base64 összehasonlítása más kódolásokkal
A URL-biztos Base64 a szabványos + és / karaktereket - és _ karakterekre cseréli, mivel a + és a / speciális jelentéssel bírnak az URL-ekben. JWT-k, URL-lekérdezési paraméterek és fájlnevek esetében használják. Ez az eszköz szabványos Base64-kimenetet állít elő; az URL-biztos formára való átalakításhoz csak ezt a két karaktert kell kicserélni.
A Base32 32 karakterből álló ábécét használ, ezért minden karakter 5 bitet hordoz 6 helyett. Minden 5 bájtot 8 karakterré alakít, ami 60% többletet jelent (8 ÷ 5 = 1,6), szemben a Base64 33%-os többletével. A Base32-t akkor választják, amikor a kimenetet kézzel kell beírni vagy telefonon kell felolvasni, mert nem használ kis- és nagybetűket, valamint könnyen összetéveszthető karaktereket.
A hexadecimális rendszer 16 karaktert használ (0–9, A–F), és bájtonként 2 karakterre van szüksége, így megduplázza a méretet (100% többlet). Gyakori hash-ek, színek és MAC-címek megjelenítésére, amikor az olvashatóság fontosabb a tömörségnél.
Mikor ne használjuk a Base64-et?
A Base64 növeli a méretet és a processzorigényt, ezért nem megfelelő nagy, hálózaton küldött fájlokhoz; a nyers bináris adatok közvetlen küldése kisebb és gyorsabb. Nem szabad rá hagyatkozni érzékeny információk, például jelszavak vagy API-kulcsok elrejtésére, mivel a dekódolás nem igényel titkot. Nagy fájlok tárolására általában jobb az adatbázis bináris oszloptípusa vagy egy fájltárolási szolgáltatás, mint egy hosszú Base64-karakterlánc egy szövegmezőben.
Gyakori hibák
- Az UTF-8-átalakítás kihagyása. Az ékezetes betűket vagy emodzsikat tartalmazó szöveg kódolása az UTF-8 bájtokká való előzetes átalakítás nélkül elronthatja a kimenetet.
- A kiegészítés eltávolítása. Egyes rendszerek elhagyják a záró
=karaktereket. A legtöbb dekódoló akkor is működik, ha a karakterlánc hosszát 4 többszörösére egészítik ki, de nem mindegyik fogadja el ezt, ezért biztonságosabb megtartani a kiegészítést. - Megmaradt sortörések. A régebbi MIME-alapú kódolók minden 76 karakter után sortörést szúrnak be; a legtöbb modern dekódoló egyetlen, megszakítás nélküli karakterláncot vár.
- A változatok összekeverése. A szabványos Base64 és az URL-biztos Base64 az ábécé ugyanazon két helyén eltérő karaktereket használ; a nem megfelelő változattal végzett dekódolás értelmetlen eredményt vagy hibát ad.
Gyakran ismételt kérdések
A Base64 titkosításnak számít? Nem. Ez visszafordítható szöveges kódolás, nem titkosítás. Bárki azonnal dekódolhat egy Base64-karakterláncot jelszó nélkül. Ha az adatoknak titkosnak kell maradniuk, használjon titkosítási algoritmust, például az AES-t.
Miért teszi nagyobbá az adatokat a Base64? Mert egy teljes karaktert használ mindössze 6 bit tárolására, miközben egy nyers bájt 8 bitet tartalmaz. 3 bájt (24 bit) 4 karakterré alakítása azt jelenti, hogy a kimenet 4/3, vagyis körülbelül 33%-kal nagyobb a bemenetnél.
Képes a Base64 képeket és más bináris fájlokat kódolni? Igen. Bármilyen bináris fájl, beleértve a képeket, PDF-eket és hangfájlokat is, Base64-re kódolható, majd bájtról bájtra visszaalakítható. Gyakran használják HTML- vagy CSS-kódba ágyazott kis képekhez, de nagy fájlokhoz nem megfelelő.
Mi a különbség a Base64 és a Base64URL között?
A Base64URL a szabványos + és / karaktereket - és _ karakterekre cseréli, így az eredmény további escape-elés nélkül biztonságosan használható URL-ben vagy fájlnévben. A JWT-k ezért Base64URL-t használnak.
Miért kapok „érvénytelen” hibát a Base64-karakterláncom dekódolásakor?
A leggyakoribb okok a Base64 ábécéjébe nem tartozó karakterek, például az URL-biztos változatban használt - és _, illetve az olyan karakterlánc, amelynek hossza 4 többszörösénél eggyel több. Ilyen hosszúságú érvényes Base64-karakterlánc nem létezik. A dekódolás akkor is meghiúsul, ha a dekódolt bájtok nem érvényes UTF-8-szöveget alkotnak. Ez az eszköz figyelmen kívül hagyja a karakterláncban lévő szóközöket és sortöréseket, és akkor is dekódolja a karakterláncot, ha eltávolították a záró = kiegészítést.
Honnan származik a Base64? A technika az 1980-as évek korai megoldásaiig nyúlik vissza, amelyek bináris adatok szöveges levelezőrendszereken keresztüli küldésére szolgáltak, és a MIME részeként hivatalosan az RFC 2045 szabványban rögzítették 1996-ban. A Base64, Base32 és Base16 jelenlegi referenciadokumentuma az RFC 4648.