Utilia

Base64 kodirnik in dekodirnik

Brezplačno kodiranje in dekodiranje Base64 s polno podporo za UTF-8 in možnostjo base64url. Deluje v brskalniku, nič se ne naloži na strežnik.

Kako uporabljati Base64 kodirnik in dekodirnik

  1. Izberi, ali želiš besedilo kodirati v Base64 ali Base64 dekodirati nazaj v besedilo.
  2. Vnesi ali prilepi vnos v polje. Podprte so črke s strešicami, nelatinične pisave in emojiji.
  3. Če bo rezultat uporabljen v naslovu URL, imenu datoteke ali spletnem žetonu JSON Web Token, vklopi možnost Varno za URL, da dobiš različico base64url.
  4. Preberi rezultat in ga kopiraj. Če dekodiraš in vnos ni veljaven Base64, te obvestilo o napaki opozori, namesto da bi dobil nesmiselne znake.

Kaj je Base64?

Base64 je način zapisa poljubnih bajtov z le 64 tiskljivimi znaki ASCII: velikimi črkami A–Z, malimi črkami a–z, števkami 0–9 in dvema simboloma + in /. Znak = se na koncu uporablja kot polnilo. Obstaja, ker so bili številni sistemi zasnovani za prenos besedila, ne neobdelanih dvojiških podatkov. Telesa e-poštnih sporočil, glave HTTP, dokumenti XML in JSON ter podatkovni URL-ji pričakujejo znake, ki preživijo kopiranje, beleženje in prenos brez sprememb.

Algoritem obdeluje skupine po tri bajte (24 bitov) in jih razdeli na štiri 6-bitne vrednosti, vsaka pa se preslika v enega od 64 znakov. Zato je izhod Base64 vedno približno 33 % večji od vnosa: vsake 3 bajte postanejo 4 znaki. Kadar dolžina vnosa ni večkratnik števila tri, se doda en ali dva znaka =, da je dolžina izhoda večkratnik števila štiri. Na primer: beseda Hi se kodira v SGk=, Hello pa v SGVsbG8=.

Besedilo, bajti in UTF-8

Base64 kodira bajte, ne znakov, zato je treba besedilo najprej pretvoriti v bajte. Orodje uporablja UTF-8, kodiranje, ki ga uporablja skoraj vsaka sodobna spletna stran in vmesnik API. Zato se café kodira v Y2Fmw6k=, emoji, kot je 👍 (štirje bajti v UTF-8), pa se pravilno kodira in dekodira nazaj v isti emoji. Mnogi hitri skripti, ki temeljijo na starejši funkciji brskalnika btoa(), odpovejo pri vsem, kar ni v Latin-1. To orodje te omejitve nima.

Standardni Base64 in base64url

Standardni Base64 uporablja + in /, ki imata v naslovih URL in poteh do datotek posebna pomena. Različica, varna za URL, imenovana base64url, zamenja + z - in / z _ ter običajno izpusti polnilo =. To je format, ki ga uporabljajo spletni žetoni JSON Web Token (JWT), številni parametri OAuth in skrajševalniki povezav. Možnost Varno za URL vklopi, kadar potrebuješ ta format, izklopi pa jo za e-poštne priponke, podatkovne URL-je ali konfiguracijske datoteke, ki pričakujejo standardni Base64.

Base64 ni šifriranje

To je najpogostejši nesporazum. Base64 je kodiranje: nima ključa ne skrivnosti in ga lahko vsak v trenutku obrne. Kodiranje gesla, ključa API ali osebnih podatkov v Base64 jih ne varuje na noben način. Osnovno overjanje HTTP na primer pošilja uporabnik:geslo v Base64, zato ga je dovoljeno uporabljati le prek HTTPS. Če potrebuješ zaupnost, uporabi pravo šifriranje (na primer AES) ali zgoščeno vrednost gesla (na primer Argon2 ali bcrypt), ne Base64.

Zasebnost

Vse kodiranje in dekodiranje poteka lokalno v tvojem brskalniku z JavaScriptom. Besedilo, ki ga vneseš, se nikoli ne pošlje na strežnik, shrani ali zabeleži, zato lahko varno pregledaš žetone ali konfiguracijske vrednosti. Orodje deluje samo z besedilom; datotek ne sprejema.

Pogosta vprašanja

Zakaj je moje dekodirano besedilo videti kot naključni simboli?

Niz Base64 verjetno predstavlja dvojiške podatke, na primer sliko, stisnjeno datoteko ali šifrirano vsebino, ne besedila. Dekodiranje da veljavne bajte, ki pa niso smiselno besedilo UTF-8. Do tega lahko pride tudi, če je bilo izvirno besedilo kodirano z drugim naborom znakov kot UTF-8.

Zakaj orodje pravi, da moj Base64 ni veljaven?

Veljaven Base64 vsebuje samo 64 dovoljenih znakov in neobvezno polnilo =, njegova dolžina pa mora ustrezati razvrstitvi po štiri znake. Pogosti vzroki so po naključju kopirani odvečni znaki, okrnjen niz ali niz base64url (z - in _), dekodiran brez vklopljene možnosti za URL.

Ali lahko kodiram slike ali druge datoteke?

Ne. Orodje je namenjeno samo besedilu. Če želiš sliko vgraditi v HTML ali CSS, potrebuješ orodje, ki prebere neobdelane bajte datoteke in ustvari podatkovni URL.

Ali je Base64 varen za shranjevanje gesel?

Ne. Base64 lahko vsak dekodira v delčku sekunde. Gesla je treba shranjevati z namenskim počasnim algoritmom zgoščevanja, kot so Argon2, scrypt ali bcrypt.

Kakšna je razlika med Base64 s polnilom in brez njega?

Polnilo = le poskrbi, da je dolžina izhoda večkratnik števila štiri, in ne nosi nobene informacije. Večina dekodirnikov lahko podatke obnovi tudi brez njega. Base64url polnilo pogosto izpusti, ker je = v naslovih URL rezerviran znak.