Base64 Enkoder / Dekoder Online
Da li treba da prebacite čitljiv tekst u Base64 format za upotrebu u HTTP zaglavljima, ili obrnuto, da dešifrujete sadržaj API tokena? Naš Base64 Tekstualni Enkoder & Dekoder je specijalizovani alat za rad sa tekstualnim stringovima koji se nosi i sa trikovima poput dijakritike ili specijalnih znakova.
Radite sa slikama?
Ako vaš kod počinje sadata:image/png...ili želite da konvertujete datoteku u tekst, ovaj alat će vam prikazati samo besmislene znakove. Koristite naš specijalizovani alat za konverziju u sliku.
Kako funkcioniše Base64 format?
Mnogi ljudi svakodnevno koriste Base64, ali malo ko zna kako funkcioniše „ispod haube“. Nije reč o magiji, već o prostoj matematici sa bitovima.
Uobičajeni tekst u računaru se čuva kao 8 bitova (1 bajt). Međutim, Base64 koristi „abecedu“ od 64 znaka (A-Z, a-z, 0-9, +, /). Pošto je 2^6 = 64, jedan Base64 znak predstavlja tačno 6 bitova informacije.
Proces konverzije (Algoritam):
- Uzimaju se tri znaka vašeg teksta (3 × 8 bitova = 24 bita).
- Ovih 24 bita se deli na četiri grupe po 6 bitova.
- Svakoj grupi se dodeljuje znak iz Base64 tabele.
Posledica: Pošto od 3 znaka pravimo 4 znaka, rezultirajući Base64 string je uvek približno za 33% duži od originalnog teksta.
Problem sa skupom znakova: Zašto uobičajeni Base64 konvertori uništavaju srpski jezik?
Ako ste ikada pokušali da kodirate reč “ŠĐČĆŽ” u konzoli pretraživača pomoću funkcije btoa('ŠĐČĆŽ'), verovatno ste dobili grešku: String contains characters outside of the Latin1 range.
Base64 je prvobitno dizajniran za 7-bitne ASCII znakove. Međutim, srpski jezik (latinica/ćirilica), emoji i drugi specijalni simboli (UTF-8) zauzimaju više bajtova u memoriji (multibajt znakovi).
- Slovo
a= 1 bajt. - Slovo
š= 2 bajta. - Emoji 🚀 = 4 bajta.
Naš alat rešava ovaj problem. Pre samog kodiranja u Base64, tekst ispravno konvertujemo u sekvencu UTF-8 bajtova. Zahvaljujući tome, možete bezbedno kodirati JSON objekte, srpske tekstove i moderne simbole bez rizika od oštećenja podataka.
Gde se koristi Base64 tekstualno kodiranje?
Dok Base64 slike služe uglavnom za ugradnju u CSS/HTML, tekstualni Base64 ima potpuno drugačiju primenu u backend sistemima:
1. HTTP Basic autentifikacija
Kada se prijavljujete na API, zaglavlje često izgleda ovako:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
Iza ovog koda se krije jednostavno spojeno korisničko ime i lozinka u formatu korisnik:lozinka. Naš alat vam omogućava da lako generišete ili proveravate ova zaglavlja.
2. JSON Web tokeni (JWT)
Moderne veb aplikacije koriste tzv. JWT za prijavljivanje. Takav token izgleda kao tri dugačka stringa odvojena tačkom. Deo sa podacima (Payload) je običan JSON objekat kodiran u Base64.
- Savet: Pokušajte ovde da unesete središnji deo vašeg JWT tokena i dekodirajte ga. Videćete tačno koje podatke aplikacija evidentira o vama (npr. ID korisnika, isticanje).
3. Konfiguracione datoteke (Kubernetes Secrets)
Platforme poput Kubernetes-a čuvaju tajne podatke (Secrets) u konfiguracionim YAML datotekama upravo u Base64 formatu. Ne radi se o šifrovanju, već o načinu da se u tekstualnu datoteku smeste binarni podaci ili tekst sa problematičnim znakovima (novi redovi, navodnici).
Šta je “URL Safe Base64 kodiranje” i zašto je važno?
Standardna Base64 abeceda sadrži znakove + (plus) i / (kosa crta). Oba ova znaka imaju poseban značaj u URL adresama:
/odvaja direktorijume.+se često tumači kao razmak.
Ako biste poslali standardni Base64 u URL parametru (npr. site.com?token=ab/cd+ef), server bi mogao pogrešno pročitati podatke.
Rešenje (URL Safe režim): Naš prekidač aktivira varijantu Base64URL (prema RFC 4648), koja vrši sledeće promene:
+se menja u-(crtica)./se menja u_(donja crta).- Na kraju se uklanjaju znakovi
=(dopunjavanje), koji u URL-u nisu potrebni.
Mit: Base64 nije šifrovanje!
Važno je shvatiti suštinsku razliku koju početnici često brkaju:
- Kodiranje (Encoding - Base64): Služi za prenos podataka. To je kao da spakujete nešto u kofer da se ne bi razbilo na putu. Svako ko pronađe kofer može ga otvoriti (dekodirati) i videti sadržaj. Nije bezbedno za tajne podatke.
- Šifrovanje (Encryption - AES, RSA): Zaključava podatke ključem. Bez ključa ne možete pristupiti sadržaju.
- Heširanje (Hashing - SHA, MD5): Jednosmeran proces (npr. za čuvanje lozinki). Iz rezultata se ne može dobiti originalni tekst.
Ako treba da pošaljete lozinku ili osetljiv podatak, sam Base64 nije dovoljan. Morate koristiti HTTPS (SSL/TLS), koji će šifrovati prenos.