Base64 Kodirnik / Base64 Dekodirnik na spletu
Potrebujete pretvoriti berljivo besedilo v format Base64 za uporabo v HTTP glavah ali obratno, razvozlati vsebino API žetona? Naš Base64 Tekstovni Kodirnik & Dekodirnik je specializirano orodje za delo z besedilnimi nizi, ki se spopada tudi z zapletenostmi, kot so diakritični znaki ali posebni simboli.
Delate s slikami?
Če se vaša koda začne zdata:image/png...ali želite datoteko pretvoriti v besedilo, vam bo to orodje prikazalo le nesmiselne znake. Uporabite naše specializirano orodje za pretvorbo v sliko.
Kako deluje format Base64?
Veliko ljudi dnevno uporablja Base64, a le redki vedo, kako deluje “pod pokrovom”. Ne gre za magijo, temveč za preprosto bitno matematiko.
Običajno besedilo v računalniku je shranjeno po 8 bitih (1 bajt). Base64 pa uporablja “abecedo” s 64 znaki (A-Z, a-z, 0-9, +, /). Ker je 2^6 = 64, en znak Base64 predstavlja natančno 6 bitov informacije.
Proces pretvorbe (Algoritem):
- Vzamejo se trije znaki vašega besedila (3 × 8 bitov = 24 bitov).
- Teh 24 bitov se razdeli v štiri skupine po 6 bitov.
- Vsaki skupini se dodeli znak iz tabele Base64.
Posledica: Ker iz 3 znakov naredimo 4 znake, je končni niz Base64 vedno približno za 33 % daljši od izvirnega besedila.
Problem s kodiranjem znakov: Zakaj običajni pretvorniki Base64 uničujejo slovenske znake?
Če ste kdaj poskusili kodirati besedo “Kůň” (ali slovenski znak, kot je ‘š’) v konzoli brskalnika z uporabo funkcije btoa('Kůň'), ste verjetno dobili napako: String contains characters outside of the Latin1 range.
Base64 je bil prvotno zasnovan za 7-bitne ASCII znake. Slovenščina, emoji in drugi posebni simboli (UTF-8) pa v pomnilniku zavzemajo več bajtov (večbajtni znaki).
- Črka
a= 1 bajt. - Črka
š= 2 bajta. - Emoji 🚀 = 4 bajti.
Naše orodje rešuje ta problem. Pred samim kodiranjem v Base64 pravilno pretvorimo besedilo v zaporedje UTF-8 bajtov. Zahvaljujoč temu lahko varno kodirate JSON objekte, slovenska besedila in sodobne simbole brez tveganja poškodbe podatkov.
Kje se uporablja Base64 besedilno kodiranje?
Medtem ko se slike v Base64 uporabljajo predvsem za vstavljanje v CSS/HTML, ima besedilni Base64 povsem drugačno uporabo v zalednih sistemih:
1. HTTP Basic Authentication
Ko se prijavljate v API, glava pogosto izgleda takole:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
Za to kodo se skriva preprosto združeno uporabniško ime in geslo v formatu uporabnik:geslo. Naše orodje vam omogoča enostavno generiranje ali preverjanje teh glav.
2. JSON Web Tokens (JWT)
Sodobne spletne aplikacije za prijavo uporabljajo tako imenovane JWT žetone. Takšen žeton je videti kot trije dolgi nizi, ločeni s piko. Del s podatki (Payload) je navaden JSON objekt, kodiran v Base64.
- Nasvet: Poskusite sem vstaviti sredinski del vašega JWT žetona in ga dekodirajte. Natančno boste videli, katere podatke aplikacija beleži o vas (npr. ID uporabnika, datum poteka).
3. Konfiguracijske datoteke (Kubernetes Secrets)
Platforme, kot je Kubernetes, shranjujejo tajne podatke (Secrets) v konfiguracijskih YAML datotekah prav v Base64. Ne gre za šifriranje, ampak za način, kako v besedilno datoteko shraniti binarne podatke ali besedilo s problematičnimi znaki (nove vrstice, narekovaji).
Kaj je “URL varno Base64 kodiranje” in zakaj je to pomembno?
Standardna Base64 abeceda vsebuje znake + (plus) in / (poševnica). Oba ta znaka imata v URL naslovih poseben pomen:
/ločuje direktorije.+se pogosto interpretira kot presledek.
Če bi poslali standardni Base64 v URL parametru (npr. site.com?token=ab/cd+ef), bi strežnik lahko podatke prebral napačno.
Rešitev (URL varni način): Naše stikalo aktivira različico Base64URL (v skladu z RFC 4648), ki izvaja te spremembe:
+se spremeni v-(vezaj)./se spremeni v_(podčrtaj).- Na koncu se odstranijo znaki
=(dopolnilo), ki v URL niso potrebni.
Mit: Base64 ni šifriranje!
Pomembno je razumeti bistveno razliko, ki jo začetniki pogosto zamenjujejo:
- Kodiranje (Encoding - Base64): Služi za prenos podatkov. To je kot da bi stvar zapakirali v kovček, da se med potjo ne bi poškodovala. Kdor najde kovček, ga lahko odpre (dekodira) in vidi vsebino. Ni varno za tajne podatke.
- Šifriranje (Encryption - AES, RSA): Zaklene podatke s ključem. Brez ključa ne morete dostopati do vsebine.
- Heširanje (Hashing - SHA, MD5): Enosmerni proces (npr. za shranjevanje gesel). Iz rezultata ni mogoče pridobiti izvirnega besedila.
Če morate poslati geslo ali občutljiv podatek, samo Base64 ni dovolj. Uporabiti morate HTTPS (SSL/TLS), ki šifrira prenos.