Utilia

Base64 kodér a dekodér

Bezplatný kodér a dekodér Base64 s plnou podporou UTF-8 a voľbou base64url pre URL. Beží celý v prehliadači, nič sa nenahráva na server.

Ako používať kodér a dekodér Base64

  1. Vyber, či chceš text zakódovať do Base64, alebo Base64 dekódovať späť na text.
  2. Napíš alebo vlož vstup do textového poľa. Podporované sú písmená s diakritikou, nelatinské písma aj emoji.
  3. Ak sa výsledok použije v URL, v názve súboru alebo v tokene JSON Web Token, zapni voľbu Bezpečné pre URL (base64url) a dostaneš variant base64url.
  4. Prečítaj si výsledok a skopíruj ho. Ak dekóduješ a vstup nie je platný Base64, zobrazí sa chybové hlásenie namiesto nezmyselného výstupu.

Čo je Base64?

Base64 je spôsob, ako zapísať ľubovoľné bajty iba pomocou 64 tlačiteľných znakov ASCII: veľkých písmen A–Z, malých písmen a–z, číslic 0–9 a dvoch symbolov + a /. Na konci sa ako doplnok používa znak =. Existuje preto, že mnohé systémy vznikli na prenos textu, nie surových binárnych dát. E‑mailové správy, hlavičky HTTP, dokumenty XML a JSON či adresy data URL očakávajú znaky, ktoré prežijú kopírovanie, zapisovanie do logov a prenos bez zmeny.

Algoritmus pracuje so skupinami troch bajtov (24 bitov) a delí ich na štyri 6‑bitové hodnoty, z ktorých každá zodpovedá jednému zo 64 znakov. Preto je výstup Base64 vždy približne o 33 % väčší ako vstup: každé 3 bajty sa zmenia na 4 znaky. Ak dĺžka vstupu nie je násobkom troch, pripoja sa jedno alebo dve znaky =, aby bola dĺžka výstupu násobkom štyroch. Slovo Hi sa napríklad zakóduje ako SGk= a Hello ako SGVsbG8=.

Text, bajty a UTF-8

Base64 kóduje bajty, nie znaky, takže text sa musí najprv previesť na bajty. Nástroj používa UTF-8, kódovanie takmer všetkých moderných webových stránok a rozhraní API. Preto sa café zmení na Y2Fmw6k= a emoji, napríklad 👍 (v UTF-8 štyri bajty), sa zakóduje správne a dekóduje späť na rovnaké emoji. Mnohé rýchle skripty, ktoré stoja na staršej funkcii btoa() v prehliadači, zlyhajú pri všetkom mimo Latin-1. Tento nástroj toto obmedzenie nemá.

Štandardný Base64 a base64url

Štandardný Base64 používa + a /, ktoré majú v adresách URL a cestách k súborom zvláštny význam. Variant bezpečný pre URL, nazývaný base64url, nahrádza + znakom - a / znakom _ a zvyčajne vynecháva doplnok =. Je to formát používaný v JSON Web Token (JWT), v mnohých parametroch OAuth aj v skracovačoch odkazov. Voľbu pre URL zapni, keď potrebuješ tento formát, a nechaj ju vypnutú pri e‑mailových prílohách, adresách data URL alebo konfiguračných súboroch, ktoré očakávajú štandardný Base64.

Base64 nie je šifrovanie

Toto je najčastejšie nedorozumenie. Base64 je kódovanie: nemá kľúč ani tajomstvo a ktokoľvek ho môže okamžite vrátiť späť. Zakódovanie hesla, kľúča API alebo osobných údajov do Base64 ich nijako nechráni. Základná autentifikácia HTTP napríklad posiela username:password v Base64, preto sa smie používať len cez HTTPS. Ak potrebuješ dôvernosť, použi skutočné šifrovanie (napríklad AES) alebo hašovanie hesiel (napríklad Argon2 či bcrypt), nie Base64.

Súkromie

Všetko kódovanie a dekódovanie prebieha lokálne v tvojom prehliadači pomocou JavaScriptu. Text, ktorý zadáš, sa nikdy neodosiela na server, neukladá ani nezapisuje do logov, takže môžeš bezpečne kontrolovať tokeny alebo konfiguračné hodnoty. Nástroj pracuje len s textom, súbory neprijíma.

Často kladené otázky

Prečo vyzerá dekódovaný text ako náhodné symboly?

Reťazec Base64 pravdepodobne predstavuje binárne dáta, napríklad obrázok, komprimovaný súbor alebo šifrovaný obsah, a nie text. Dekódovanie dá platné bajty, no nie zmysluplný text v UTF-8. Stáva sa to aj vtedy, keď bol pôvodný text zakódovaný inou znakovou sadou než UTF-8.

Prečo nástroj hlási, že môj Base64 je neplatný?

Platný Base64 obsahuje iba 64 povolených znakov a voliteľný doplnok = a jeho dĺžka musí zodpovedať skupinám po štyroch znakoch. Častými príčinami sú náhodne skopírované cudzie znaky, odrezaný reťazec alebo reťazec base64url (so znakmi - a _) dekódovaný bez zapnutej voľby pre URL.

Môžem zakódovať obrázky alebo iné súbory?

Nie. Nástroj je určený len na text. Ak chceš vložiť obrázok do HTML alebo CSS, potrebuješ nástroj, ktorý načíta surové bajty súboru a vytvorí adresu data URL.

Je Base64 bezpečný na ukladanie hesiel?

Nie. Base64 dokáže ktokoľvek dekódovať za zlomok sekundy. Heslá sa majú ukladať pomocou špecializovaného pomalého hašovacieho algoritmu, ako je Argon2, scrypt alebo bcrypt.

Aký je rozdiel medzi Base64 s doplnkom a bez neho?

Doplnok = iba zabezpečí, že dĺžka výstupu je násobkom štyroch, a nenesie žiadnu informáciu. Väčšina dekodérov vie dáta zrekonštruovať aj bez neho. base64url doplnok bežne vynecháva, pretože = je v adresách URL vyhradený znak.