Base64 Koder / Dekoder Online

0 chars
0 chars

Trebate pretvoriti čitljiv tekst u Base64 format za korištenje u HTTP zaglavljima, ili obrnuto, dešifrirati sadržaj API tokena? Naš Base64 Text Encoder & Decoder je specijalizirani alat za rad s tekstualnim nizovima koji se nosi i s izazovima poput dijakritike ili posebnih znakova.

Radite s slikama?
Ako vaš kod počinje data:image/png... ili želite pretvoriti datoteku u tekst, ovaj alat će vam prikazati samo besmislene znakove. Koristite naš specijalizirani alat za pretvorbu u sliku.

Kako funkcionira Base64 format?

Mnogi ljudi koriste Base64 svakodnevno, ali malo tko zna kako funkcionira “ispod haube”. Nije riječ o magiji, već o jednostavnoj matematici s bitovima.

Uobičajeni tekst u računalu pohranjuje se u 8-bitnim jedinicama (1 bajt). Međutim, Base64 koristi “abecedu” od 64 znaka (A-Z, a-z, 0-9, +, /). Budući da je 2^6 = 64, jedan Base64 znak predstavlja točno 6 bitova informacije.

Proces pretvorbe (Algoritam):

  1. Uzimaju se tri znaka vašeg teksta (3 × 8 bitova = 24 bita).
  2. Ova 24 bita se dijele u četiri skupine po 6 bitova.
  3. Svakoj se skupini dodjeljuje znak iz Base64 tablice.

Posljedica: Budući da od 3 znaka stvaramo 4 znaka, rezultirajući Base64 niz je uvijek približno 33 % duži od izvornog teksta.

Problem s skupom znakova: Zašto uobičajeni Base64 konverteri uništavaju hrvatske znakove?

Ako ste ikada pokušali kodirati riječ “Čamac” u konzoli preglednika pomoću funkcije btoa('Čamac'), vjerojatno ste dobili pogrešku: String contains characters outside of the Latin1 range.

Base64 je izvorno dizajniran za 7-bitne ASCII znakove. Međutim, hrvatski znakovi, emoji i drugi posebni simboli (UTF-8) zauzimaju više bajtova u memoriji (višebajtni znakovi).

  • Slovo a = 1 bajt.
  • Slovo č = 2 bajta.
  • Emoji 🚀 = 4 bajta.

Naš alat rješava ovaj problem. Prije samog kodiranja u Base64, tekst ispravno pretvaramo u slijed UTF-8 bajtova. Zahvaljujući tome, možete sigurno kodirati JSON objekte, hrvatske tekstove i moderne simbole bez rizika od oštećenja podataka.

Gdje se koristi Base64 tekstualno kodiranje?

Dok se slike u Base64-u uglavnom koriste za ugradnju u CSS/HTML, tekstualni Base64 ima potpuno drugačiju primjenu u backend sustavima:

1. HTTP Osnovna autentifikacija

Kada se prijavljujete na API, zaglavlje često izgleda ovako: Authorization: Basic dXppdmF0ZWw6aGVzbG8= Iza ovog koda krije se jednostavno spojeno korisničko ime i lozinka u formatu korisnik:lozinka. Naš alat vam omogućuje da lako generirate ili provjerite ova zaglavlja.

2. JSON Web Tokeni (JWT)

Moderne web aplikacije koriste tzv. JWT za prijavu. Takav token izgleda kao tri duga niza odvojena točkom. Dio s podacima (Payload) je običan JSON objekt kodiran u Base64.

  • Savjet: Pokušajte ovdje umetnuti središnji dio vašeg JWT tokena i dekodirati ga. Vidjet ćete točno koje podatke aplikacija bilježi o vama (npr. ID korisnika, istek).

3. Konfiguracijske datoteke (Kubernetes Secrets)

Platforme poput Kubernetes pohranjuju tajne podatke (Secrets) u konfiguracijskim YAML datotekama upravo u Base64 formatu. Ne radi se o enkripciji, već o načinu kako u tekstualnu datoteku pohraniti binarne podatke ili tekst s problematičnim znakovima (novi redovi, navodnici).

Što je “URL sigurno Base64 kodiranje” i zašto je važno?

Standardna Base64 abeceda sadrži znakove + (plus) i / (kosa crta). Oba ova znaka imaju posebno značenje u URL adresama:

  • / odvaja direktorije.
  • + se često tumači kao razmak.

Ako biste poslali standardni Base64 u URL parametru (npr. site.com?token=ab/cd+ef), poslužitelj bi mogao pogrešno pročitati podatke.

Rješenje (URL siguran način): Naš prekidač aktivira varijantu Base64URL (prema RFC 4648), koja provodi sljedeće promjene:

  • + se mijenja u - (crtica).
  • / se mijenja u _ (podvlaka).
  • Na kraju se uklanjaju znakovi = (padding), koji u URL-u nisu potrebni.

Mit: Base64 nije enkripcija!

Važno je razumjeti bitnu razliku koju početnici često brkaju:

  1. Kodiranje (Encoding - Base64): Služi za prijenos podataka. To je kao da spakirate stvar u kofer kako se ne bi razbila putem. Svatko tko pronađe kofer može ga otvoriti (dekodirati) i vidjeti sadržaj. Nije sigurno za tajne podatke.
  2. Enkripcija (Encryption - AES, RSA): Zaključava podatke ključem. Bez ključa ne možete pristupiti sadržaju.
  3. Heširanje (Hashing - SHA, MD5): Jednosmjerni proces (npr. za pohranu lozinki). Iz rezultata se ne može dobiti izvorni tekst.

Ako trebate poslati lozinku ili osjetljive podatke, sam Base64 nije dovoljan. Morate koristiti HTTPS (SSL/TLS) koji će šifrirati prijenos.


Često postavljana pitanja (FAQ)

Što znače znakovi "=" na kraju niza? To je tzv. "padding" (popunjavanje). Budući da Base64 kodira podatke u skupinama od 3 znaka, može se dogoditi da duljina izvornog teksta nije djeljiva s tri. Znakovi `=` dodaju se na kraj kako bi dekoder znao koliko bitova treba ignorirati na kraju.
Zašto se dekodirani tekst prikazuje kao "nerazumljiv tekst"? Pravděpodobno pokušavate dekodirati podatke koji nisu tekst. Ako Base64 niz predstavlja komprimiranu datoteku (ZIP), sliku ili šifrirane podatke, pretvorba u tekst (UTF-8) nema smisla. Pokušajte saznati izvor podataka.
Radi li alat offline? Da. Sva logika pretvorbe napisana je u JavaScriptu i radi izravno u vašem pregledniku. Nakon što se stranica učita, možete se odspojiti s interneta i alat će i dalje raditi. Vaši se podaci nigdje ne šalju.