Tech Help
Base64 er ikke kryptering: hvad det faktisk gør
Base64 er kodning, ikke kryptering. Hvorfor det ikke skjuler adgangskoder, hvorfor det bliver større, og hvordan du afkoder det.
Base64 er kodning, ikke kryptering. Det gør binære data til en tekstform, som tekstorienterede systemer kan gemme eller sende.
Den, der har Base64-teksten, kan normalt afkode den. Ingen adgangskode eller hemmelig nøgle kræves.
Brug ikke Base64 til at beskytte adgangskoder, API-nøgler, adgangstokens, private beskeder eller andre hemmeligheder. Det er et repræsentationsværktøj, ikke en sikkerhedsmekanisme.
Hvis en streng ser rodede ud, betyder det ikke, at den er krypteret. Base64 ændrer kun, hvordan bytes skrives som tekst.
Hvad gør Base64 egentlig?
Base64 koder binære data med et begrænset ASCII-sæt: A–Z, a–z, 0–9, + og /. Udfyldning med = kan vises, så uddatalængden bliver et multiplum af 4. Udfyldning er ikke altid der—korte input kan bruge et eller to =, og nogle formater udelader den.
Hello
Hello
Base64
SGVsbG8=
Afkod SGVsbG8=, og du får Hello igen. Den tur-retur kræver ingen nøgle.
- Oprindelige data
- Hello
- Base64-kod
- SGVsbG8=
- Base64-afkod
- Hello
Base64 versus kryptering: hvad er forskellen?
Base64 er til repræsentation og kompatibilitet. Det skjuler ikke indholdet. Kryptering er til fortrolighed og bruger kryptografisk nøglemateriale. At afkode Base64 er ikke at dekryptere. Offentlig-nøgle-systemer bruger også nøgler; sig «passende kryptografisk nøgle», ikke «én delt hemmelighed for hver slags kryptering». Hashing er en tredje idé: et digest, ikke en reversibel kodning.
- Kodning
- Ingen hemmelig nøgle
- Reversibelt for alle
- Kryptering
- Kryptografisk beskyttelse
- Kræver den rigtige nøgle for at dekryptere
Tre forskellige opgaver:
| Metode | Hovedformål | Hemmelighed nødvendig |
|---|---|---|
| Base64 | Kode data som tekst | Nej |
| Kryptering | Beskytte fortrolighed | Ja / nøglemateriale |
| Hashing | Envejs-digest | Ingen dekryptering |
Er Base64 sikkert?
Base64 giver ikke fortrolighed i sig selv. Teksten kan se uigennemsigtig ud, men det er ikke en sikkerhedsfunktion. En almindelig afkoder gendanner bytes. Det betyder ikke, at «Base64 er usikkert» som teknik. Det er en almindelig kodning. Det er ikke en sikkerhedsmekanisme. Sikkerhed afhænger af det omgivende system og kontrollerne.
Kan jeg skjule en adgangskode eller API-nøgle med Base64?
Nej, ikke som beskyttelse. At kode en adgangskode, API-nøgle, adgangstoken eller private data som Base64 beskytter dem ikke. Den, der får den kodede streng, kan normalt afkode den. Brug rigtig hemmelighedslagring og kryptering, når fortrolighed betyder noget.
Hvorfor bruges Base64, hvis det ikke er kryptering?
Systemer, der forventer tekst, kan ofte ikke bære rå binære data. Base64 bruges til at repræsentere binært i tekstformater, indlejre små binære ressourcer, flytte bytes gennem kun-tekst-kanaler, bygge Data URL, optræde i visse e-mail-/MIME-sammenhænge og fylde API-payloads, når et skema beder om Base64. API’er bruger ikke Base64 «for sikkerhed». De bruger det for kompatibilitet.
Hvorfor gør Base64 data større?
Standard Base64 med udfyldning mapper 3 inputbytes til 4 tegn. Længden er 4 × ceil(n / 3), hvor n er antallet af inputbytes. Tre bytes bliver 4 tegn; seks bliver 8. Det er groft 33 % større—cirka en tredjedel—for en stor rå payload. Små input kan se anderledes ud på grund af udfyldning: én byte bliver QQ== (4 tegn). JSON-anførselstegn, et Data URL-præfiks, komprimering eller ekstra transportkodning kan ændre den gemte eller sendte størrelse yderligere. Base64 komprimerer ikke data.
Hvad er Base64URL?
Base64URL er en URL- og filnavnssikker variant af samme kodning—ikke kryptering. + bliver -, / bliver _, og udfyldning udelades ofte. Kodér Base64 kan kode og afkode både standard-Base64 og Base64URL. Udfyldningsregler afhænger af specifikationen. Dette værktøj er ikke en JWT-afkoder.
Kan Base64 kode billeder og filer?
Ja. Billeder, PDF’er og andre binære filer kan blive en Base64-tekstrepræsentation. Base64 komprimerer ikke de filer. Den kodede tekst er normalt større end de rå bytes.
Hvad er en Base64-Data-URL?
En Data URL kan samle medietype, kodningsmarkør og kodede bytes i én streng:
data:image/png;base64,...
Det er praktisk til små assets. At lægge en stor fil i en Data URL er ikke altid en god idé: strengen vokser, og sider kan blive langsommere. Se det som et kompromis, ikke som standard.
Kodning versus kryptering versus hashing
Kodning (inklusive Base64) er til repræsentation og er reversibel uden hemmelighed. Kryptering er til fortrolighed og involverer kryptografisk nøglemateriale. Hashing giver et digest, der generelt er designet som envejs. Udatalængden afhænger af algoritmen—SHA-256 og SHA-512 er ikke samme størrelse. Opret SHA-hash kan vise de digests; det krypterer ikke og erstatter ikke Base64.
Almindelige Base64-fejl
At behandle Base64 som kryptering
Det ændrer kun, hvordan bytes ser ud som tekst.
At gemme hemmeligheder som almindelig Base64
Den kodede værdi kan afkodes af den, der har den.
At antage, at Base64 komprimerer data
Det gør det ikke. Tekstformen er normalt større.
At glemme størrelsesøgningen
Planlæg groft en tredjedel mere på store rå payloads.
At forveksle Base64 med Base64URL
Alfabeterne adskiller sig. En afkoder kan afvise den forkerte variant.
At afkode med den forkerte tegnkodning
Base64 gendanner bytes. Tekst har stadig brug for den matchende kodning, normalt UTF-8.
At antage, at = altid vises
Udfyldning bruges, når det er nødvendigt. Nogle strenge har ingen.
Hvorfor kan Unicode-tekst give problemer med Base64?
Base64 arbejder på bytes, ikke på tegn. Tekst skal først blive bytes—normalt UTF-8. Koreansk, japansk, arabisk og emoji har brug for det trin. Browserens btoa() på en Unicode-streng kan fejle. Kodér Base64 koder UTF-8-bytes, så den tekst går tur-retur. Afkoder du med det forkerte charset, kan Base64 være gyldigt, og bogstaverne alligevel se forkerte ud.
Base64 giver ikke fortrolighed. Den, der har den kodede værdi, kan normalt afkode den. Behandl ikke rodede tekst som en beskyttet hemmelighed.
Kod eller afkod Base64 i browseren
NEXNARA Kodér Base64 omdanner UTF-8-tekst og filer lokalt.
Du kan kode eller afkode standard-Base64 og Base64URL, gøre en fil til rå Base64 eller Data URL og føre Base64 eller Data URL tilbage til en download. Ugyldigt input afvises i stedet for at crashe. Mellemrum ignoreres; manglende udfyldning udfyldes.
Filer over 10 MB kan gøre fanen langsom. Filer over 32 MB behandles ikke i browseren.
Selve Base64-behandlingen sker i din browser. Teksten eller filen sendes ikke til en NEXNARA-server for dette værktøj. Annoncer og andre site-funktioner bruger stadig nettet; det er adskilt fra behandlingen.
Skal du kode eller afkode Base64? Åbn Kodér Base64 og indsæt teksten eller slip en fil.
FAQ
Er Base64 kryptering?
Nej. Base64 er kodning. Det ændrer repræsentationen. Det beskytter ikke fortrolighed.
Er Base64 sikkert?
Base64 er ikke en sikkerhedsmekanisme. Det er en almindelig kodning. Den, der har teksten, kan normalt afkode den. Sikkerhed afhænger af resten af systemet.
Kan Base64 afkodes uden adgangskode?
Ja. En standardafkoder er nok. Base64 selv kræver ingen adgangskode eller hemmelig nøgle.
Hvorfor øger Base64 filstørrelsen?
Hver 3 bytes bliver 4 tegn i standard Base64 med udfyldning (længde 4 × ceil(n / 3)). Det er groft 33 % mere for en stor rå payload. Udfyldning kan ændre forholdet på meget små input.
Hvad er forskellen mellem Base64 og Base64URL?
Base64URL bruger - og _ i stedet for + og / og dropper ofte = udfyldning. Begge er kodninger. Kodér Base64 understøtter begge alfabeter.
Kan Base64 kode billeder og filer?
Ja. Resultatet er tekst, ikke en mindre fil. Brug filtilstand i Kodér Base64 til rå Base64 eller en Data URL. Filen bliver i browseren.