Base64 Koder / Dekoder Online
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činjedata: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):
- Uzimaju se tri znaka vašeg teksta (3 × 8 bitova = 24 bita).
- Ova 24 bita se dijele u četiri skupine po 6 bitova.
- 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:
- 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.
- Enkripcija (Encryption - AES, RSA): Zaključava podatke ključem. Bez ključa ne možete pristupiti sadržaju.
- 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.