Tech Help
Base64 nije šifrovanje: šta zapravo radi
Base64 je kodiranje, ne šifrovanje. Zašto ne skriva lozinke, zašto raste veličina i kako ga dekodirati.
Base64 je kodiranje, ne šifrovanje. Pretvara binarne podatke u tekstualni oblik koji tekstualni sistemi mogu da sačuvaju ili pošalju.
Ko ima tekst Base64, obično može da ga dekodira. Lozinka ili tajni ključ nisu potrebni.
Ne koristite Base64 da štitite lozinke, API ključeve, tokene pristupa, privatne poruke ili druge tajne. To je alat za predstavljanje, ne mehanizam bezbednosti.
Ako niz izgleda zbrkano, to ne znači da je šifrovan. Base64 samo menja kako se bajtovi pišu kao tekst.
Šta Base64 zapravo radi?
Base64 kodira binarne podatke ograničenim ASCII skupom: A–Z, a–z, 0–9, + i /. Dopuna = može da se pojavi da dužina izlaza ostane umnožak od 4. Dopuna nije uvek tu—kratki ulazi mogu da koriste jedno ili dva =, a neki formati je izostavljaju.
Hello
Hello
Base64
SGVsbG8=
Dekodirajte SGVsbG8= i ponovo dobijate Hello. Tom odlasku i povratku ne treba ključ.
- Izvorni podaci
- Hello
- Kodirati Base64
- SGVsbG8=
- Dekodirati Base64
- Hello
Base64 naspram šifrovanja: koja je razlika?
Base64 služi predstavljanju i kompatibilnosti. Ne skriva sadržaj. Šifrovanje služi poverljivosti i koristi kriptografski ključni materijal. Dekodirati Base64 nije dešifrovati. Sistemi javnog ključa takođe koriste ključeve; recite «odgovarajući kriptografski ključ», ne «jedna deljena tajna za svaku vrstu šifrovanja». Hešovanje je treća ideja: sažetak, ne reverzibilno kodiranje.
- Kodiranje
- Bez tajnog ključa
- Reverzibilno za svakoga
- Šifrovanje
- Kriptografska zaštita
- Treba pravi ključ da se dešifruje
Tri različita posla:
| Metod | Glavna svrha | Tajna potrebna |
|---|---|---|
| Base64 | Kodirati podatke kao tekst | Ne |
| Šifrovanje | Štititi poverljivost | Da / ključni materijal |
| Hešovanje | Jednosmerni sažetak | Bez dešifrovanja |
Da li je Base64 bezbedan?
Base64 sam po sebi ne daje poverljivost. Tekst može da izgleda neproziran, ali to nije bezbednosna funkcija. Običan dekoder vraća bajtove. To ne znači da je «Base64 nesiguran» kao tehnologija. To je obično kodiranje. Nije mehanizam bezbednosti. Bezbednost zavisi od okolnog sistema i kontrola.
Mogu li sakriti lozinku ili API ključ pomoću Base64?
Ne, ne kao zaštitu. Kodirati lozinku, API ključ, token pristupa ili privatne podatke kao Base64 ih ne štiti. Ko dobije kodirani niz, obično može da ga dekodira. Koristite pravo čuvanje tajni i šifrovanje kada poverljivost važi.
Zašto se Base64 koristi ako nije šifrovanje?
Sistemi koji očekuju tekst često ne mogu da nose sirove binarne podatke. Base64 služi da predstavi binarno u tekstualnim formatima, ugradi male binarne resurse, pomeri bajtove kroz kanale samo za tekst, sagradi Data URL, pojavi se u nekim email/MIME kontekstima i popuni API teret kada šema traži Base64. API ga ne koriste «zbog bezbednosti». Koriste ga zbog kompatibilnosti.
Zašto Base64 uvećava podatke?
Standardni Base64 sa dopunom mapira 3 ulazna bajta na 4 znaka. Dužina je 4 × ceil(n / 3), gde je n broj ulaznih bajtova. Tri bajta postaju 4 znaka; šest postaju 8. To je grubo 33% veće—oko trećine—za veliki sirovi teret. Mali ulazi mogu da izgledaju drugačije zbog dopune: jedan bajt postaje QQ== (4 znaka). JSON navodnici, prefiks Data URL, kompresija ili dodatno transportno kodiranje mogu još da promene sačuvanu ili poslato veličinu. Base64 ne komprimuje podatke.
Šta je Base64URL?
Base64URL je varijanta istog kodiranja bezbedna za URL i imena fajlova—nije šifrovanje. + postaje -, / postaje _, a dopuna se često izostavlja. Кодирање Base64 može da kodira i dekodira standardni Base64 i Base64URL. Pravila dopune zavise od specifikacije. Ovaj alat nije JWT dekoder.
Može li Base64 da kodira slike i fajlove?
Da. Slike, PDF i drugi binarni fajlovi mogu da postanu tekstualna reprezentacija Base64. Base64 te fajlove ne komprimuje. Kodirani tekst je obično veći od sirovih bajtova.
Šta je Data URL sa Base64?
Data URL može da spoji tip medija, oznaku kodiranja i kodirane bajtove u jedan niz:
data:image/png;base64,...
Zgodno je za male resurse. Staviti veliki fajl u Data URL nije uvek dobra ideja: niz raste i stranice mogu da uspore. Tretirajte to kao kompromis, ne kao podrazumevano.
Kodiranje naspram šifrovanja naspram hešovanja
Kodiranje (uključujući Base64) služi predstavljanju i reverzibilno je bez tajne. Šifrovanje služi poverljivosti i uključuje kriptografski ključni materijal. Hešovanje daje sažetak koji je generalno osmišljen kao jednosmeran. Dužina izlaza zavisi od algoritma—SHA-256 i SHA-512 nisu iste veličine. Генерисање хеша SHA može da pokaže te sažetke; ne šifruje i ne zamenjuje Base64.
Česte greške sa Base64
Tretirati Base64 kao šifrovanje
Samo menja kako bajtovi izgledaju kao tekst.
Čuvati tajne kao običan Base64
Kodiranu vrednost može da dekodira ko je ima.
Pretpostaviti da Base64 komprimuje podatke
Ne komprimuje. Tekstualni oblik je obično veći.
Zaboraviti rast veličine
Planirajte grubo trećinu više na velikim sirovim teretima.
Pomešati Base64 sa Base64URL
Azbuke se razlikuju. Dekoder može da odbije pogrešnu varijantu.
Dekodirati pogrešnim kodiranjem znakova
Base64 vraća bajtove. Tekstu i dalje treba odgovarajuće kodiranje, obično UTF-8.
Pretpostaviti da se = uvek pojavljuje
Dopuna se koristi kad treba. Neki nizovi je nemaju.
Zašto Unikod tekst može da pravi probleme sa Base64?
Base64 radi na bajtovima, ne na znacima. Tekst mora prvo da postane bajtovi—obično UTF-8. Korejski, japanski, arapski i emoji treba taj korak. Pregledački btoa() na Unikod nizu može da padne. Кодирање Base64 kodira UTF-8 bajtove, pa taj tekst ide tamo-ovamo. Ako dekodirate pogrešnim skupom znakova, Base64 može biti ispravan, a slova i dalje izgledati pogrešno.
Base64 ne daje poverljivost. Ko ima kodiranu vrednost, obično može da je dekodira. Ne tretirajte zbrkano izgledajući tekst kao zaštićenu tajnu.
Kodirajte ili dekodirajte Base64 u pregledaču
NEXNARA Кодирање Base64 pretvara UTF-8 tekst i fajlove lokalno.
Možete da kodirate ili dekodirate standardni Base64 i Base64URL, pretvorite fajl u sirovi Base64 ili Data URL i vratite Base64 ili Data URL u preuzimanje. Neispravan ulaz se odbija umesto da padne. Razmaci se ignorišu; nedostajuća dopuna se dopunjuje.
Fajlovi preko 10 MB mogu da uspore karticu. Fajlovi preko 32 MB se ne obrađuju u pregledaču.
Sama obrada Base64 dešava se u vašem pregledaču. Tekst ili fajl se ne šalju na NEXNARA server za ovaj alat. Reklame i druge funkcije sajta i dalje koriste mrežu; to je odvojeno od obrade.
Treba da kodirate ili dekodirate Base64? Otvorite Кодирање Base64 i nalepite tekst ili spustite fajl.
FAQ
Da li je Base64 šifrovanje?
Ne. Base64 je kodiranje. Menja predstavljanje. Ne štiti poverljivost.
Da li je Base64 bezbedan?
Base64 nije mehanizam bezbednosti. To je obično kodiranje. Ko ima tekst, obično može da ga dekodira. Bezbednost zavisi od ostatka sistema.
Može li se Base64 dekodirati bez lozinke?
Da. Dovoljan je standardni dekoder. Samom Base64 ne treba lozinka ni tajni ključ.
Zašto Base64 uvećava veličinu fajla?
Svaka 3 bajta postaju 4 znaka u standardnom Base64 sa dopunom (dužina 4 × ceil(n / 3)). To je grubo 33% više za veliki sirovi teret. Dopuna može da promeni odnos na veoma malim ulazima.
Koja je razlika između Base64 i Base64URL?
Base64URL koristi - i _ umesto + i / i često izostavlja dopunu =. Oba su kodiranja. Кодирање Base64 podržava obe azbuke.
Može li Base64 da kodira slike i fajlove?
Da. Rezultat je tekst, ne manji fajl. Koristite režim fajla u Кодирање Base64 za sirovi Base64 ili Data URL. Fajl ostaje u pregledaču.