Base64 Kódovač / Dekódovač Online

0 chars
0 chars

Potrebujete previesť čitateľný text do formátu Base64 pre použitie v HTTP hlavičkách, alebo naopak rozlúštiť obsah API tokenu? Náš Base64 Text Enkodér & Dekodér je špecializovaný nástroj na prácu s textovými reťazcami, ktorý si poradí aj so záludnosťami, ako je diakritika alebo špeciálne znaky.

Pracujete s obrázkami?
Ak váš kód začína data:image/png... alebo chcete previesť súbor na text, tento nástroj vám zobrazí len nezmyselné znaky. Použite náš špecializovaný nástroj na prevod na obrázok.

Ako funguje formát Base64?

Mnoho ľudí používa Base64 denne, ale málokto vie, ako funguje “pod kapotou”. Nejde o mágiu, ale o jednoduchú matematiku s bitmi.

Bežný text v počítači je uložený po 8 bitoch (1 bajt). Base64 však používa “abecedu” so 64 znakmi (A-Z, a-z, 0-9, +, /). Pretože 2^6 = 64, jeden znak Base64 reprezentuje presne 6 bitov informácie.

Proces prevodu (Algoritmus):

  1. Vezmú sa tri znaky vášho textu (3 × 8 bitov = 24 bitov).
  2. Týchto 24 bitov sa rozdelí na štyri skupiny po 6 bitoch.
  3. Každej skupine sa priradí znak z tabuľky Base64.

Dôsledok: Pretože robíme z 3 znakov 4 znaky, výsledný Base64 reťazec je vždy približne o 33 % dlhší ako pôvodný text.

Problém znakovej sady: Prečo bežné Base64 konvertory ničia slovenčinu?

Ak ste niekedy skúšali zakódovať slovo “Kôň” v konzole prehliadača pomocou funkcie btoa('Kôň'), pravdepodobne ste dostali chybu: String contains characters outside of the Latin1 range.

Base64 bol pôvodne navrhnutý pre 7-bitové ASCII znaky. Slovenčina, emoji a ďalšie špeciálne symboly (UTF-8) však zaberajú v pamäti viac bajtov (multibyte characters).

  • Písmeno a = 1 bajt.
  • Písmeno ľ = 2 bajty.
  • Emoji 🚀 = 4 bajty.

Náš nástroj tento problém rieši. Pred samotným kódovaním do Base64 text správne prevedieme na sekvenciu UTF-8 bajtov. Vďaka tomu môžete bezpečne kódovať JSON objekty, slovenské texty aj moderné symboly bez rizika poškodenia dát.

Kde sa Base64 textové kódovanie používa?

Zatiaľ čo obrázky v Base64 slúžia hlavne na vkladanie do CSS/HTML, textové Base64 má úplne iné využitie v backendových systémoch:

1. HTTP Basic Authentication

Keď sa prihlasujete k API, hlavička často vyzerá takto: Authorization: Basic dXppdmF0ZWw6aGVzbG8= Za týmto kódom sa skrýva jednoducho spojené meno a heslo vo formáte používateľ:heslo. Náš nástroj vám umožní tieto hlavičky ľahko generovať alebo kontrolovať.

2. JSON Web Tokens (JWT)

Moderné webové aplikácie používajú na prihlásenie tzv. JWT. Takýto token vyzerá ako tri dlhé reťazce oddelené bodkou. Časť s dátami (Payload) je obyčajný JSON objekt zakódovaný v Base64.

  • Tip: Skúste sem vložiť prostrednú časť vášho JWT tokenu a dekódovať ju. Uvidíte presne, aké dáta o vás aplikácia eviduje (napr. ID používateľa, expirácia).

3. Konfiguračné súbory (Kubernetes Secrets)

Platformy ako Kubernetes ukladajú tajné údaje (Secrets) v konfiguračných YAML súboroch práve v Base64. Nejde o šifrovanie, ale o spôsob, ako do textového súboru uložiť binárne dáta alebo text s problematickými znakmi (nové riadky, úvodzovky).

Čo je to “URL Safe Base64 encoding” a prečo na tom záleží?

Štandardná Base64 abeceda obsahuje znaky + (plus) a / (lomka). Oba tieto znaky majú v URL adresách špeciálny význam:

  • / oddeľuje adresáre.
  • + sa často interpretuje ako medzera.

Ak by ste poslali štandardný Base64 v URL parametri (napr. site.com?token=ab/cd+ef), server by mohol dáta prečítať zle.

Riešenie (URL Safe režim): Náš prepínač aktivuje variant Base64URL (podľa RFC 4648), ktorá vykonáva tieto zmeny:

  • + sa mení na - (pomlčka).
  • / sa mení na _ (podčiarkovník).
  • Na konci sa odstraňujú znaky = (padding), ktoré v URL nie sú potrebné.

Mýtus: Base64 nie je šifrovanie!

Je dôležité si uvedomiť zásadný rozdiel, ktorý začiatočníci často mýlia:

  1. Kódovanie (Encoding - Base64): Slúži na prenos dát. Je to ako zabaliť vec do kufra, aby sa nerozbila cestou. Ktokoľvek kufor nájde, môže ho otvoriť (dekódovať) a vidieť obsah. Nie je to bezpečné pre tajné dáta.
  2. Šifrovanie (Encryption - AES, RSA): Zamyká dáta kľúčom. Bez kľúča sa k obsahu nedostanete.
  3. Hashovanie (Hashing - SHA, MD5): Jednosmerný proces (napr. na ukladanie hesiel). Z výsledku nemožno získať pôvodný text.

Ak potrebujete poslať heslo alebo citlivý údaj, samotné Base64 nestačí. Musíte použiť HTTPS (SSL/TLS), ktoré prenos zašifruje.


Často kladené otázky (FAQ)

Čo znamenajú znaky "=" na konci reťazca? To je tzv. "padding" (výplň). Pretože Base64 kóduje dáta po skupinách 3 znakov, môže sa stať, že dĺžka pôvodného textu nie je deliteľná tromi. Znaky `=` sa pridávajú na koniec, aby dekodér poznal, koľko bitov má na konci ignorovať.
Prečo sa dekódovaný text zobrazuje ako "rozsypaný čaj"? Pravdepodobne sa snažíte dekódovať dáta, ktoré nie sú textom. Ak Base64 reťazec reprezentuje skomprimovaný súbor (ZIP), obrázok alebo šifrované dáta, prevod na text (UTF-8) nedáva zmysel. Skúste zistiť pôvod dát.
Funguje nástroj offline? Áno. Všetka logika prevodu je napísaná v JavaScripte a beží priamo vo vašom prehliadači. Akonáhle sa stránka načíta, môžete sa odpojiť od internetu a nástroj bude stále fungovať. Vaše dáta sa nikam neodosielajú.