Tech Help

Base64 ni šifriranje: kaj v resnici dela

Base64 je kodiranje, ne šifriranje. Zakaj ne skrije gesel, zakaj zraste velikost in kako ga dekodirati.

Kratek odgovor

Base64 je kodiranje, ne šifriranje. Pretvori binarne podatke v besedilno obliko, ki jo besedilni sistemi lahko shranijo ali pošljejo.

Kdor ima besedilo Base64, ga običajno lahko dekodira. Geslo ali skrivni ključ nista potrebna.

Ne uporabljajte Base64 za zaščito gesel, ključev API, žetonov dostopa, zasebnih sporočil ali drugih skrivnosti. To je orodje predstavitve, ne varnostni mehanizem.

Če niz izgleda zmešan, to ne pomeni, da je šifriran. Base64 spremeni le, kako se bajti zapišejo kot besedilo.

Kaj Base64 v resnici dela?

Base64 kodira binarne podatke z omejenim naborom ASCII: A–Z, a–z, 0–9, + in /. Polnilo = se lahko pojavi, da dolžina izhoda ostane večkratnik 4. Polnilo ni vedno tu—kratki vnosi lahko uporabijo eno ali dve =, nekateri formati ga izpustijo.

Hello

Hello

Base64

SGVsbG8=

Dekodirajte SGVsbG8= in spet dobite Hello. Ta pot tja in nazaj ne potrebuje ključa.

  • Izvirni podatki
  • Hello
  • Kodirati Base64
  • SGVsbG8=
  • Dekodirati Base64
  • Hello
Base64 je reverzibilen z dekodiranjem. Kdor ima besedilo, to običajno zmore.

Base64 proti šifriranju: kakšna je razlika?

Base64 služi predstavitvi in združljivosti. Ne skrije vsebine. Šifriranje služi zaupnosti in uporablja kriptografski ključni material. Dekodirati Base64 ni dešifrirati. Sistemi z javnim ključem tudi uporabljajo ključe; recite «ustrezen kriptografski ključ», ne «ena deljena skrivnost za vsako vrsto šifriranja». Zgoščevanje je tretja ideja: povzetek, ne reverzibilno kodiranje.

  • Kodiranje
  • Brez skrivnega ključa
  • Reverzibilno za vsakogar
  • Šifriranje
  • Kriptografska zaščita
  • Za dešifriranje potreben pravi ključ
Kodiranje spremeni predstavitev. Šifriranje želi vsebino ohraniti zaupno.

Tri različna opravila:

Metoda Glavni namen Skrivnost potrebna
Base64 Kodirati podatke kot besedilo Ne
Šifriranje Varovati zaupnost Da / ključni material
Zgoščevanje Enosmerni povzetek Brez dešifriranja

Je Base64 varen?

Base64 sam po sebi ne daje zaupnosti. Besedilo se lahko zdi neprozorno, a to ni varnostna funkcija. Navaden dekoder obnovi bajte. To ne pomeni, da je «Base64 nevaren» kot tehnologija. To je običajno kodiranje. Ni varnostni mehanizem. Varnost je odvisna od okoliškega sistema in nadzora.

Lahko skrijem geslo ali ključ API z Base64?

Ne, ne kot zaščito. Kodirati geslo, ključ API, žeton dostopa ali zasebne podatke kot Base64 jih ne ščiti. Kdor dobi kodirani niz, ga običajno lahko dekodira. Uporabite pravo shranjevanje skrivnosti in šifriranje, ko zaupnost šteje.

Zakaj se Base64 uporablja, če ni šifriranje?

Sistemi, ki pričakujejo besedilo, pogosto ne morejo nositi surovih binarnih podatkov. Base64 služi predstavitvi binarnega v besedilnih formatih, vdelavi majhnih binarnih virov, premiku bajtov po kanalih samo za besedilo, gradnji Data URL, pojavu v nekaterih e-poštnih/MIME kontekstih in polnjenju bremen API, ko shema zahteva Base64. API ga ne uporabljajo «zaradi varnosti». Uporabljajo ga zaradi združljivosti.

Zakaj Base64 poveča podatke?

Standardni Base64 s polnilom preslika 3 vhodne bajte v 4 znake. Dolžina je 4 × ceil(n / 3), kjer je n število vhodnih bajtov. Trije bajti postanejo 4 znaki; šest postane 8. To je grobo 33 % večje—približno tretjina—za veliko surovo breme. Majhni vnosi se lahko zaradi polnila zdijo drugačni: en bajt postane QQ== (4 znaki). JSON narekovaji, predpona Data URL, stiskanje ali dodatno transportno kodiranje lahko še spremenijo shranjeno ali poslano velikost. Base64 ne stiska podatkov.

Kaj je Base64URL?

Base64URL je različica istega kodiranja, varna za URL in imena datotek—ni šifriranje. + postane -, / postane _, polnilo se pogosto izpusti. Kodiranje Base64 lahko kodira in dekodira standardni Base64 in Base64URL. Pravila polnila so odvisna od specifikacije. To orodje ni dekoder JWT.

Ali Base64 lahko kodira slike in datoteke?

Da. Slike, PDF in druge binarne datoteke lahko postanejo besedilna predstavitev Base64. Base64 teh datotek ne stiska. Kodirano besedilo je običajno večje od surovih bajtov.

Kaj je Data URL z Base64?

Data URL lahko v enem nizu združi vrsto medija, oznako kodiranja in kodirane bajte:

data:image/png;base64,...

Priročno je za majhne vire. Veliko datoteko v Data URL ni vedno dobra ideja: niz raste in strani se lahko upočasnijo. Obravnavajte to kot kompromis, ne kot privzeto.

Kodiranje proti šifriranju proti zgoščevanju

Kodiranje (vključno z Base64) služi predstavitvi in je reverzibilno brez skrivnosti. Šifriranje služi zaupnosti in vključuje kriptografski ključni material. Zgoščevanje da povzetek, ki je na splošno zasnovan kot enosmeren. Dolžina izhoda je odvisna od algoritma—SHA-256 in SHA-512 nista iste velikosti. Ustvarjanje zgoščene SHA lahko pokaže te povzetke; ne šifrira in ne nadomešča Base64.

Pogoste napake z Base64

Obravnavati Base64 kot šifriranje
Spremeni le, kako bajti izgledajo kot besedilo.

Shranjevati skrivnosti kot golo Base64
Kodirano vrednost lahko dekodira, kdor jo ima.

Predvidevati, da Base64 stiska podatke
Ne stiska. Besedilna oblika je običajno večja.

Pozabiti na rast velikosti
Načrtujte grobo tretjino več pri velikih surovih bremenih.

Zamenjati Base64 z Base64URL
Abecedi se razlikujeta. Dekoder lahko zavrne napačno različico.

Dekodirati z napačnim kodiranjem znakov
Base64 obnovi bajte. Besedilo še vedno potrebuje ujemajoče kodiranje, običajno UTF-8.

Predvidevati, da se = vedno pojavi
Polnilo se uporabi, ko je treba. Nekateri nizi ga nimajo.

Zakaj lahko Unicode besedilo povzroči težave z Base64?

Base64 deluje na bajtih, ne na znakih. Besedilo mora najprej postati bajti—običajno UTF-8. Korejščina, japonščina, arabščina in emoji potrebujejo ta korak. Brskalniški btoa() na Unicode nizu lahko spodleti. Kodiranje Base64 kodira bajte UTF-8, zato to besedilo gre tja in nazaj. Če dekodirate z napačnim naborom znakov, je Base64 lahko veljaven, črke pa še vedno izgledajo napačno.

Ni ključavnica

Base64 ne daje zaupnosti. Kdor ima kodirano vrednost, jo običajno lahko dekodira. Ne obravnavajte zmešanega besedila kot zaščiteno skrivnost.

Kodirajte ali dekodirajte Base64 v brskalniku

NEXNARA Kodiranje Base64 pretvori besedilo UTF-8 in datoteke lokalno.

Lahko kodirate ali dekodirate standardni Base64 in Base64URL, datoteko spremenite v surovi Base64 ali Data URL in Base64 ali Data URL vrnete v prenos. Neveljaven vnos se zavrne namesto da bi se zrušil. Presledki se prezrejo; manjkajoče polnilo se dopolni.

Datoteke nad 10 MB lahko upočasnijo zavihek. Datoteke nad 32 MB se v brskalniku ne obdelajo.

Sama obdelava Base64 poteka v vašem brskalniku. Besedilo ali datoteka se za to orodje ne pošljeta na strežnik NEXNARA. Oglasi in druge funkcije spletnega mesta še vedno uporabljajo omrežje; to je ločeno od obdelave.

Morate kodirati ali dekodirati Base64? Odprite Kodiranje Base64 in prilepite besedilo ali spustite datoteko.

FAQ

Je Base64 šifriranje?

Ne. Base64 je kodiranje. Spremeni predstavitev. Ne varuje zaupnosti.

Je Base64 varen?

Base64 ni varnostni mehanizem. To je običajno kodiranje. Kdor ima besedilo, ga običajno lahko dekodira. Varnost je odvisna od preostanka sistema.

Ali se Base64 lahko dekodira brez gesla?

Da. Zadostuje standardni dekoder. Samemu Base64 ni treba gesla ali skrivnega ključa.

Zakaj Base64 poveča velikost datoteke?

Vsaki 3 bajti postanejo 4 znaki v standardnem Base64 s polnilom (dolžina 4 × ceil(n / 3)). To je grobo 33 % več za veliko surovo breme. Polnilo lahko spremeni razmerje pri zelo majhnih vnosih.

Kakšna je razlika med Base64 in Base64URL?

Base64URL uporablja - in _ namesto + in / in pogosto izpusti polnilo =. Oba sta kodiranji. Kodiranje Base64 podpira obe abecedi.

Ali Base64 lahko kodira slike in datoteke?

Da. Rezultat je besedilo, ne manjša datoteka. Uporabite način datoteke v Kodiranje Base64 za surovi Base64 ali Data URL. Datoteka ostane v brskalniku.