Tech Help
Base64 er ikke kryptering: hva det faktisk gjør
Base64 er koding, ikke kryptering. Hvorfor det ikke skjuler passord, hvorfor det blir større, og hvordan du dekoder det.
Base64 er koding, ikke kryptering. Det gjør binærdata om til en tekstform som tekstorienterte systemer kan lagre eller sende.
Den som har Base64-teksten, kan vanligvis dekode den. Ingen passord eller hemmelig nøkkel trengs.
Ikke bruk Base64 til å beskytte passord, API-nøkler, tilgangsnøkler, private meldinger eller andre hemmeligheter. Det er et representasjonsverktøy, ikke en sikkerhetsmekanisme.
Hvis en streng ser rotete ut, betyr det ikke at den er kryptert. Base64 endrer bare hvordan byte skrives som tekst.
Hva gjør Base64 egentlig?
Base64 koder binærdata med et begrenset ASCII-sett: A–Z, a–z, 0–9, + og /. Utfylling med = kan vises slik at utdatalengden blir et multiplum av 4. Utfylling er ikke alltid der—korte inndata kan bruke ett eller to =, og noen formater utelater den.
Hello
Hello
Base64
SGVsbG8=
Dekod SGVsbG8=, så får du Hello igjen. Den tur-retur-turen trenger ingen nøkkel.
- Opprinnelige data
- Hello
- Base64-kod
- SGVsbG8=
- Base64-dekod
- Hello
Base64 versus kryptering: hva er forskjellen?
Base64 er til representasjon og kompatibilitet. Det skjuler ikke innholdet. Kryptering er til konfidensialitet og bruker kryptografisk nøkkelmateriale. Å dekode Base64 er ikke å dekryptere. Offentlig-nøkkel-systemer bruker også nøkler; si «passende kryptografisk nøkkel», ikke «én delt hemmelighet for hver slags kryptering». Hashing er en tredje idé: et sammendrag, ikke en reversibel koding.
- Koding
- Ingen hemmelig nøkkel
- Reversibelt for alle
- Kryptering
- Kryptografisk beskyttelse
- Trenger riktig nøkkel for å dekryptere
Tre ulike oppgaver:
| Metode | Hovedformål | Hemmelighet nødvendig |
|---|---|---|
| Base64 | Kode data som tekst | Nei |
| Kryptering | Beskytte konfidensialitet | Ja / nøkkelmateriale |
| Hashing | Enveis-sammendrag | Ingen dekryptering |
Er Base64 sikkert?
Base64 gir ikke konfidensialitet i seg selv. Teksten kan se ugjennomsiktig ut, men det er ingen sikkerhetsfunksjon. En vanlig dekoder gjenoppretter bytene. Det betyr ikke at «Base64 er usikkert» som teknikk. Det er en vanlig koding. Det er ingen sikkerhetsmekanisme. Sikkerhet avhenger av det omkringliggende systemet og kontrollene.
Kan jeg skjule et passord eller en API-nøkkel med Base64?
Nei, ikke som beskyttelse. Å kode et passord, en API-nøkkel, en tilgangsnøkkel eller private data som Base64 beskytter dem ikke. Den som får den kodede strengen, kan vanligvis dekode den. Bruk ekte hemmelighetslagring og kryptering når konfidensialitet teller.
Hvorfor brukes Base64 hvis det ikke er kryptering?
Systemer som venter tekst, kan ofte ikke bære rå binærdata. Base64 brukes til å representere binært i tekstformater, bygge inn små binære ressurser, flytte byte gjennom kun-tekst-kanaler, bygge Data URL, dukke opp i noen e-post-/MIME-sammenhenger og fylle API-laster når et skjema ber om Base64. API-er bruker ikke Base64 «for sikkerhet». De bruker det for kompatibilitet.
Hvorfor gjør Base64 data større?
Standard Base64 med utfylling mapper 3 inndatabyte til 4 tegn. Lengden er 4 × ceil(n / 3), der n er antallet inndatabyte. Tre byte blir 4 tegn; seks blir 8. Det er grovt 33 % større—omtrent en tredjedel—for en stor rå last. Små inndata kan se annerledes ut på grunn av utfylling: én byte blir QQ== (4 tegn). JSON-anførselstegn, et Data URL-prefiks, komprimering eller ekstra transportkoding kan endre den lagrede eller sendte størrelsen ytterligere. Base64 komprimerer ikke data.
Hva er Base64URL?
Base64URL er en URL- og filnavnsikker variant av samme koding—ikke kryptering. + blir -, / blir _, og utfylling utelates ofte. Kod Base64 kan kode og dekode både standard-Base64 og Base64URL. Utfyllingsregler avhenger av spesifikasjonen. Dette verktøyet er ingen JWT-dekoder.
Kan Base64 kode bilder og filer?
Ja. Bilder, PDF-er og andre binære filer kan bli en Base64-tekstrepresentasjon. Base64 komprimerer ikke de filene. Den kodede teksten er vanligvis større enn de rå bytene.
Hva er en Base64-Data-URL?
En Data URL kan samle medietype, kodingsmarkør og kodede byte i én streng:
data:image/png;base64,...
Det er praktisk for små ressurser. Å legge en stor fil i en Data URL er ikke alltid en god idé: strengen vokser, og sider kan bli tregere. Se det som et kompromiss, ikke som standard.
Koding versus kryptering versus hashing
Koding (inkludert Base64) er til representasjon og er reversibel uten hemmelighet. Kryptering er til konfidensialitet og innebærer kryptografisk nøkkelmateriale. Hashing gir et sammendrag som vanligvis er utformet som enveis. Utdatalengden avhenger av algoritmen—SHA-256 og SHA-512 er ikke samme størrelse. Lag SHA-hash kan vise de sammendragene; det krypterer ikke og erstatter ikke Base64.
Vanlige Base64-feil
Å behandle Base64 som kryptering
Det endrer bare hvordan byte ser ut som tekst.
Å lagre hemmeligheter som vanlig Base64
Den kodede verdien kan dekodes av den som har den.
Å anta at Base64 komprimerer data
Det gjør det ikke. Tekstformen er vanligvis større.
Å glemme størrelsesøkningen
Planlegg grovt en tredjedel mer på store rå laster.
Å forveksle Base64 med Base64URL
Alfabetene skiller seg. En dekoder kan avvise feil variant.
Å dekode med feil tegnkoding
Base64 gjenoppretter byte. Tekst trenger fortsatt den matchende kodingen, vanligvis UTF-8.
Å anta at = alltid vises
Utfylling brukes når det trengs. Noen strenger har ingen.
Hvorfor kan Unicode-tekst gi problemer med Base64?
Base64 arbeider på byte, ikke på tegn. Tekst må først bli byte—vanligvis UTF-8. Koreansk, japansk, arabisk og emoji trenger det steget. Nettleserens btoa() på en Unicode-streng kan feile. Kod Base64 koder UTF-8-byte, så den teksten går tur-retur. Dekoder du med feil tegnsett, kan Base64 være gyldig og bokstavene likevel se feil ut.
Base64 gir ikke konfidensialitet. Den som har den kodede verdien, kan vanligvis dekode den. Behandle ikke rotete tekst som en beskyttet hemmelighet.
Kod eller dekod Base64 i nettleseren
NEXNARA Kod Base64 gjør om UTF-8-tekst og filer lokalt.
Du kan kode eller dekode standard-Base64 og Base64URL, gjøre en fil til rå Base64 eller Data URL og føre Base64 eller Data URL tilbake til en nedlasting. Ugyldig inndata avvises i stedet for å krasje. Mellomrom ignoreres; manglende utfylling fylles ut.
Filer over 10 MB kan gjøre fanen treg. Filer over 32 MB behandles ikke i nettleseren.
Selve Base64-behandlingen skjer i nettleseren din. Teksten eller filen sendes ikke til en NEXNARA-server for dette verktøyet. Annonser og andre nettstedfunksjoner bruker fortsatt nettverket; det er skilt fra behandlingen.
Trenger du å kode eller dekode Base64? Åpne Kod Base64 og lim inn teksten eller slipp en fil.
FAQ
Er Base64 kryptering?
Nei. Base64 er koding. Det endrer representasjonen. Det beskytter ikke konfidensialitet.
Er Base64 sikkert?
Base64 er ingen sikkerhetsmekanisme. Det er en vanlig koding. Den som har teksten, kan vanligvis dekode den. Sikkerhet avhenger av resten av systemet.
Kan Base64 dekodes uten passord?
Ja. En standarddekoder holder. Base64 selv krever ingen passord eller hemmelig nøkkel.
Hvorfor øker Base64 filstørrelsen?
Hver 3 byte blir 4 tegn i standard Base64 med utfylling (lengde 4 × ceil(n / 3)). Det er grovt 33 % mer for en stor rå last. Utfylling kan endre forholdet på svært små inndata.
Hva er forskjellen mellom Base64 og Base64URL?
Base64URL bruker - og _ i stedet for + og / og hopper ofte over = utfylling. Begge er kodinger. Kod Base64 støtter begge alfabetene.
Kan Base64 kode bilder og filer?
Ja. Resultatet er tekst, ikke en mindre fil. Bruk filmodus i Kod Base64 for rå Base64 eller en Data URL. Filen blir i nettleseren.