Base64 Kodeerija ja Dekodeerija | Online Tööriist
Kas teil on vaja teisendada loetav tekst Base64 formaati HTTP päiste jaoks või vastupidi, lahti mõtestada API tokeni sisu? Meie Base64 Teksti Kodeerija & Dekodeerija on spetsiaalne tööriist tekstistringidega töötamiseks, mis saab hakkama ka keeruliste nüanssidega, nagu diakriitikud või erimärgid.
Töötate piltidega?
Kui teie kood algabdata:image/png...või soovite faili tekstiks teisendada, kuvab see tööriist teile ainult arusaamatuid märke. Kasutage meie spetsiaalset tööriista piltide teisendamiseks.
Kuidas Base64 formaat töötab?
Paljud inimesed kasutavad Base64 iga päev, kuid vähesed teavad, kuidas see “kapoti all” töötab. See ei ole maagia, vaid lihtne bitimatemaatika.
Tavaline tekst arvutis salvestatakse 8-bitise (1 bait) kaupa. Base64 aga kasutab 64 märgist koosnevat “tähestikku” (A-Z, a-z, 0-9, +, /). Kuna 2^6 = 64, esindab üks Base64 märk täpselt 6 bitti infot.
Teisendusprotsess (Algoritm):
- Võetakse kolm märki teie tekstist (3 × 8 bitti = 24 bitti).
- Need 24 bitti jagatakse neljaks 6-bitiseks rühmaks.
- Igale rühmale määratakse Base64 tabelist märk.
Tulemus: Kuna me muudame 3 märki 4 märgiks, on saadud Base64 string alati umbes 33% pikem kui algne tekst.
Märgistiku probleem: Miks tavalised Base64 teisendajad rikuvad UTF-8 märke?
Kui olete kunagi proovinud kodeerida sõna “Kůň” brauseri konsoolis, kasutades funktsiooni btoa('Kůň'), olete tõenäoliselt saanud vea: String contains characters outside of the Latin1 range.
Base64 loodi algselt 7-bitiste ASCII märkide jaoks. Eesti keel, emoji ja muud erisümbolid (UTF-8) võtavad aga mälus rohkem baite (mitmebaidilised märgid).
- Täht
a= 1 bait. - Täht
ä= 2 baiti. - Emoji 🚀 = 4 baiti.
Meie tööriist lahendab selle probleemi. Enne Base64-ks kodeerimist teisendame teksti korrektselt UTF-8 baitide jadaks. Tänu sellele saate turvaliselt kodeerida JSON objekte, eestikeelseid tekste ja kaasaegseid sümboleid ilma andmekahjustuse riskita.
Kus Base64 tekstikodeerimist kasutatakse?
Samal ajal kui Base64 pildid on peamiselt mõeldud CSS/HTML-i sisestamiseks, on tekstipõhisel Base64-l tagasüsteemides täiesti teine kasutusala:
1. HTTP Basic Authentication
API-sse sisselogimisel näeb päis sageli välja selline:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
Selle koodi taga peitub lihtsalt ühendatud kasutajanimi ja parool formaadis kasutaja:parool. Meie tööriist võimaldab teil neid päiseid hõlpsasti genereerida või kontrollida.
2. JSON Web Tokens (JWT)
Kaasaegsed veebirakendused kasutavad sisselogimiseks nn JWT-d. Selline token näeb välja nagu kolm pikka, punktiga eraldatud stringi. Andmete osa (Payload) on tavaline Base64-s kodeeritud JSON objekt.
- Nõuanne: Proovige siia kleepida oma JWT tokeni keskmine osa ja see dekodeerida. Näete täpselt, milliseid andmeid rakendus teie kohta salvestab (nt kasutaja ID, aegumiskuupäev).
3. Konfiguratsioonifailid (Kubernetes Secrets)
Platvormid nagu Kubernetes salvestavad saladusi (Secrets) konfiguratsiooni YAML-failides just Base64 formaadis. See ei ole krüpteerimine, vaid viis binaarandmete või probleemsete märkidega teksti (reavahetused, jutumärgid) tekstifaili salvestamiseks.
Mis on “URL-turvaline Base64 kodeerimine” ja miks see oluline on?
Standardne Base64 tähestik sisaldab märke + (pluss) ja / (kaldkriips). Mõlemal märgil on URL-aadressides eriline tähendus:
/eraldab katalooge.+tõlgendatakse sageli tühikuna.
Kui saadaksite standardse Base64 URL-i parameetris (nt site.com?token=ab/cd+ef), võiks server andmeid valesti lugeda.
Lahendus (URL-turvaline režiim): Meie lüliti aktiveerib Base64URL variandi (vastavalt RFC 4648), mis teeb järgmised muudatused:
+muutub-(sidekriips)./muutub_(allkriips).- Lõpust eemaldatakse
=märgid (täide), mida URL-is vaja pole.
Müüt: Base64 ei ole krüpteerimine!
Oluline on mõista põhimõttelist erinevust, mida algajad sageli segamini ajavad:
- Kodeerimine (Encoding - Base64): Kasutatakse andmete edastamiseks. See on nagu asja pakkimine kohvrisse, et see teel katki ei läheks. Kes iganes kohvri leiab, saab selle avada (dekodeerida) ja sisu näha. See ei ole salajaste andmete jaoks turvaline.
- Krüpteerimine (Encryption - AES, RSA): Lukustab andmed võtmega. Ilma võtmeta sisule ligi ei pääse.
- Häššimine (Hashing - SHA, MD5): Ühesuunaline protsess (nt paroolide salvestamiseks). Tulemusest ei saa algset teksti tagasi.
Kui teil on vaja saata parool või tundlik teave, siis ainuüksi Base64-st ei piisa. Peate kasutama HTTPS-i (SSL/TLS), mis krüpteerib edastuse.