Ugrás a tartalomra

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

Betöltési kalkulátor...
📚

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

  1. Írjon be vagy illesszen be szöveget a beviteli mezőbe.
  2. 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.
  3. Kapcsolja be az élő átalakítást, hogy a kimenet gépelés közben automatikusan frissüljön.
  4. 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.

  1. A bemeneti bájtokat bináris formában írja le.
  2. A biteket 24 bites csoportokba rendezi (3 bájt).
  3. Minden 24 bites csoportot négy 6 bites részre bont.
  4. 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:

  1. ASCII-értékek: 72, 101, 108, 108, 111
  2. Binárisan: 01001000 01100101 01101100 01101100 01101111
  3. 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.
  4. 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.
  5. Mivel 2 bájt maradt fenn, a végére egy = kerül.
  6. 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 Authorization fejlé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.