Tech Help
Base64 ei ole salaus: mitä se oikeasti tekee
Base64 on koodaus, ei salaus. Miksi se ei piilota salasanoja, miksi se kasvaa ja miten sen purkaa.
Base64 on koodaus, ei salaus. Se muuttaa binaaridatan tekstimuotoon, jota tekstiin perustuvat järjestelmät voivat tallentaa tai lähettää.
Jolla on Base64-teksti, voi sen yleensä purkaa. Salasanaa tai salaista avainta ei tarvita.
Älä käytä Base64:ää salasanojen, API-avainten, käyttöoikeustunnusten, yksityisviestien tai muiden salaisuuksien suojaamiseen. Se on esitystyökalu, ei turvamekanismi.
Jos merkkijono näyttää sekavalta, se ei tarkoita että se on salattu. Base64 muuttaa vain sen, miten tavut kirjoitetaan tekstinä.
Mitä Base64 oikeasti tekee?
Base64 koodaa binaaridatan rajatulla ASCII-joukolla: A–Z, a–z, 0–9, + ja /. Täyte = voi ilmestyä, jotta tulosteen pituus pysyy 4:n monikertana. Täytettä ei aina ole—lyhyt syöte voi käyttää yhtä tai kahta =, ja jotkin muodot jättävät sen pois.
Hello
Hello
Base64
SGVsbG8=
Pura SGVsbG8= niin saat Hello takaisin. Tuo meno-paluu ei tarvitse avainta.
- Alkuperäinen data
- Hello
- Base64-koodaa
- SGVsbG8=
- Base64-pura
- Hello
Base64 ja salaus: mikä ero?
Base64 on esitystä ja yhteensopivuutta varten. Se ei piilota sisältöä. Salaus on luottamuksellisuutta varten ja käyttää salausavainmateriaalia. Base64:n purku ei ole salauksen purkua. Julkisen avaimen järjestelmätkin käyttävät avaimia; sano «sopiva salausavain», ei «yksi jaettu salaisuus jokaiseen salaukseen». Tiivistäminen on kolmas ajatus: tiiviste, ei käännettävä koodaus.
- Koodaus
- Ei salaista avainta
- Kuka tahansa voi kääntää
- Salaus
- Kryptografinen suoja
- Purkuun tarvitaan oikea avain
Kolme eri tehtävää:
| Menetelmä | Päätarkoitus | Salaisuus tarvitaan |
|---|---|---|
| Base64 | Koodata data tekstiksi | Ei |
| Salaus | Suojata luottamuksellisuus | Kyllä / avainmateriaali |
| Tiivistäminen | Yksisuuntainen tiiviste | Ei salauksen purkua |
Onko Base64 turvallinen?
Base64 ei yksin anna luottamuksellisuutta. Teksti voi näyttää läpinäkymättömältä, mutta se ei ole turvaominaisuus. Tavallinen purkaja palauttaa tavut. Se ei tarkoita, että «Base64 on turvaton» tekniikkana. Se on tavallinen koodaus. Se ei ole turvamekanismi. Turvallisuus riippuu ympäröivästä järjestelmästä ja hallinnasta.
Voinko piilottaa salasanan tai API-avaimen Base64:llä?
En suojana. Salasanan, API-avaimen, käyttöoikeustunnuksen tai yksityisen datan koodaus Base64:ksi ei suojaa niitä. Joka saa koodatun merkkijonon, voi sen yleensä purkaa. Käytä oikeaa salaisuuksien säilytystä ja salausta, kun luottamuksellisuus merkitsee.
Miksi Base64:ää käytetään, jos se ei ole salausta?
Tekstiä odottavat järjestelmät eivät usein voi kantaa raakaa binaaria. Base64:ää käytetään esittämään binaaria tekstimuodoissa, upottamaan pieniä binaarisia resursseja, siirtämään tavuja vain-teksti-kanavissa, rakentamaan Data URL, esiintymään joissain sähköposti-/MIME-yhteyksissä ja täyttämään API-kuormia, kun skeema pyytää Base64:ää. API:t eivät käytä sitä «turvallisuuden takia». Ne käyttävät sitä yhteensopivuuden takia.
Miksi Base64 suurentaa dataa?
Tavallinen täytteellinen Base64 kuvaa 3 syötetavua 4 merkiksi. Pituus on 4 × ceil(n / 3), jossa n on syötetavujen määrä. Kolme tavua tulee 4 merkkiä; kuusi 8. Se on karkeasti 33 % suurempi—noin kolmannes—suurelle raakakuormalle. Pienet syötteet voivat näyttää erilaisilta täytteen takia: yksi tavu tulee QQ== (4 merkkiä). JSON-lainausmerkit, Data URL -etuliite, tiivistys tai ylimääräinen siirtokoodaus voivat vielä muuttaa tallennettua tai lähetettyä kokoa. Base64 ei tiivistä dataa.
Mikä on Base64URL?
Base64URL on saman koodauksen URL- ja tiedostonimille turvallinen muunnos—ei salausta. + muuttuu -, / muuttuu _, ja täyte jätetään usein pois. Koodaa Base64 voi koodata ja purkaa sekä tavallisen Base64:n että Base64URL:n. Täytesäännöt riippuvat määrityksestä. Tämä työkalu ei ole JWT-purkaja.
Voiko Base64 koodata kuvia ja tiedostoja?
Kyllä. Kuvat, PDF:t ja muut binaaritiedostot voivat tulla Base64-tekstiesitykseksi. Base64 ei tiivistä niitä tiedostoja. Koodattu teksti on yleensä suurempi kuin raakatavut.
Mikä on Base64-Data-URL?
Data URL voi koota mediatyypin, koodausmerkin ja koodatut tavut yhteen merkkijonoon:
data:image/png;base64,...
Se on kätevää pienille resursseille. Suuren tiedoston laittaminen Data URL:ään ei aina ole hyvä idea: merkkijono kasvaa ja sivut voivat hidastua. Pidä sitä kompromissina, ei oletuksena.
Koodaus, salaus ja tiivistäminen
Koodaus (mukaan lukien Base64) on esitystä varten ja käännettävissä ilman salaisuutta. Salaus on luottamuksellisuutta varten ja sisältää salausavainmateriaalia. Tiivistäminen tuottaa tiivisteen, joka on yleensä suunniteltu yksisuuntaiseksi. Tulosteen pituus riippuu algoritmista—SHA-256 ja SHA-512 eivät ole samaa kokoa. Luo SHA-tiiviste voi näyttää ne tiivisteet; se ei salaa eikä korvaa Base64:ää.
Yleisiä Base64-virheitä
Base64:n pitäminen salauksena
Se muuttaa vain sen, miltä tavut näyttävät tekstinä.
Salaisuuksien tallentaminen pelkkänä Base64:nä
Koodatun arvon voi purkaa se, jolla se on.
Oletus, että Base64 tiivistää dataa
Ei tiivistä. Tekstimuoto on yleensä suurempi.
Kokokasvun unohtaminen
Suunnittele karkeasti kolmannes lisää suurille raakakuormille.
Base64:n sekoittaminen Base64URL:ään
Aakkoset eroavat. Purkaja voi hylätä väärän muunnelman.
Purku väärällä merkkikoodauksella
Base64 palauttaa tavut. Teksti tarvitsee yhä vastaavan koodauksen, yleensä UTF-8.
Oletus, että = näkyy aina
Täytettä käytetään tarvittaessa. Joissain merkkijonoissa ei ole.
Miksi Unicode-teksti voi aiheuttaa ongelmia Base64:n kanssa?
Base64 toimii tavuilla, ei merkeillä. Tekstin pitää ensin tulla tavuiksi—yleensä UTF-8. Korea, japani, arabia ja emoji tarvitsevat sen askeleen. Selaimen btoa() Unicode-merkkijonolla voi epäonnistua. Koodaa Base64 koodaa UTF-8-tavut, joten tuo teksti kulkee meno-paluun. Jos purat väärällä merkistöllä, Base64 voi olla kelvollinen ja kirjaimet silti näyttää vääriltä.
Base64 ei anna luottamuksellisuutta. Jolla on koodattu arvo, voi sen yleensä purkaa. Älä pidä sekavan näköistä tekstiä suojattuna salaisuutena.
Koodaa tai pura Base64 selaimessa
NEXNARA Koodaa Base64 muuntaa UTF-8-tekstin ja tiedostot paikallisesti.
Voit koodata tai purkaa tavallisen Base64:n ja Base64URL:n, tehdä tiedostosta raaka-Base64:n tai Data URL:n ja palauttaa Base64:n tai Data URL:n lataukseksi. Virheellinen syöte hylätään kaatumisen sijaan. Välilyönnit ohitetaan; puuttuva täyte täydennetään.
Yli 10 MB:n tiedostot voivat hidastaa välilehteä. Yli 32 MB:n tiedostoja ei käsitellä selaimessa.
Itse Base64-käsittely tapahtuu selaimessasi. Tekstiä tai tiedostoa ei lähetetä NEXNARA-palvelimelle tässä työkalussa. Mainokset ja muut sivuston toiminnot käyttävät yhä verkkoa; se on erillään käsittelystä.
Pitääkö koodata tai purkaa Base64? Avaa Koodaa Base64 ja liitä teksti tai pudota tiedosto.
FAQ
Onko Base64 salausta?
Ei. Base64 on koodaus. Se muuttaa esitystä. Se ei suojaa luottamuksellisuutta.
Onko Base64 turvallinen?
Base64 ei ole turvamekanismi. Se on tavallinen koodaus. Jolla on teksti, voi sen yleensä purkaa. Turvallisuus riippuu järjestelmän muusta osasta.
Voiko Base64:n purkaa ilman salasanaa?
Kyllä. Tavallinen purkaja riittää. Itse Base64 ei vaadi salasanaa eikä salaista avainta.
Miksi Base64 kasvattaa tiedostokokoa?
Joka 3 tavua tulee 4 merkkiä tavallisessa täytteellisessä Base64:ssä (pituus 4 × ceil(n / 3)). Se on karkeasti 33 % enemmän suurelle raakakuormalle. Täyte voi muuttaa suhdetta hyvin pienissä syötteissä.
Mikä ero on Base64:llä ja Base64URL:llä?
Base64URL käyttää - ja _ merkkien + ja / sijaan ja jättää usein = täytteen pois. Molemmat ovat koodauksia. Koodaa Base64 tukee molempia aakkosia.
Voiko Base64 koodata kuvia ja tiedostoja?
Kyllä. Tulos on tekstiä, ei pienempi tiedosto. Käytä Koodaa Base64:n tiedostotilaa raaka-Base64:lle tai Data URL:lle. Tiedosto jää selaimeen.