Base64-koodaus ja -purku
Ilmainen Base64-koodaus ja -purku täydellä UTF-8-tuella ja URL-turvallisella base64url-vaihtoehdolla. Toimii selaimessa, mitään ei lähetetä palvelimelle.
Näin käytät Base64-koodausta ja -purkua
- Valitse, haluatko koodata tekstin Base64-muotoon vai purkaa Base64:n takaisin tekstiksi.
- Kirjoita tai liitä syöte tekstikenttään. Ääkköset, muut kirjoitusjärjestelmät ja emojit toimivat kaikki.
- Jos tulosta käytetään URL-osoitteessa, tiedostonimessä tai JSON Web Tokenissa (JWT), ota käyttöön URL-turvallinen valinta, niin saat base64url-muodon.
- Lue tulos ja kopioi se. Jos puret eikä syöte ole kelvollista Base64:ää, virheilmoitus kertoo siitä sen sijaan, että tuloksena olisi roskaa.
Mikä on Base64?
Base64 on tapa esittää mielivaltaisia tavuja vain 64 tulostettavalla ASCII-merkillä: isoilla kirjaimilla A–Z, pienillä kirjaimilla a–z, numeroilla 0–9 sekä kahdella symbolilla + ja /. Lopussa käytetään täytteenä =-merkkiä. Koodausta tarvitaan, koska monet järjestelmät on suunniteltu kuljettamaan tekstiä, ei raakaa binääridataa. Sähköpostiviestit, HTTP-otsikot, XML- ja JSON-dokumentit sekä data-URL-osoitteet edellyttävät merkkejä, jotka säilyvät muuttumattomina kopioitaessa, lokitettaessa ja siirrettäessä.
Algoritmi käsittelee kolmen tavun (24 bitin) ryhmiä ja jakaa ne neljäksi 6-bittiseksi arvoksi, joista jokainen vastaa yhtä 64 merkistä. Siksi Base64-tuloste on aina noin 33 % syötettä suurempi: jokaista 3 tavua kohden syntyy 4 merkkiä. Kun syötteen pituus ei ole kolmen monikerta, loppuun lisätään yksi tai kaksi =-merkkiä, jotta tulosteen pituus on neljän monikerta. Esimerkiksi sana Hi koodautuu muotoon SGk= ja Hello muotoon SGVsbG8=.
Teksti, tavut ja UTF-8
Base64 koodaa tavuja, ei merkkejä, joten teksti on ensin muutettava tavuiksi. Tämä työkalu käyttää UTF-8:aa, jota lähes jokainen nykyaikainen verkkosivu ja rajapinta käyttää. Niinpä café koodautuu muotoon Y2Fmw6k=, ja emoji kuten 👍 (neljä tavua UTF-8:ssa) koodautuu oikein ja purkautuu takaisin samaksi emojiksi. Monet nopeat skriptit, jotka nojaavat selaimen vanhaan btoa()-funktioon, kaatuvat kaikkeen Latin-1:n ulkopuoliseen. Tällä työkalulla ei ole tätä rajoitusta.
Tavallinen Base64 ja base64url
Tavallinen Base64 käyttää merkkejä + ja /, joilla on erityismerkitys URL-osoitteissa ja tiedostopoluissa. URL-turvallinen muunnelma, base64url, korvaa +-merkin merkillä - ja /-merkin merkillä _ sekä jättää yleensä =-täytteen pois. Sitä käytetään JSON Web Tokeneissa (JWT), monissa OAuth-parametreissa ja lyhytlinkkipalveluissa. Ota URL-turvallinen valinta käyttöön, kun tarvitset tätä muotoa, ja jätä se pois sähköpostiliitteissä, data-URL-osoitteissa tai asetustiedostoissa, jotka odottavat tavallista Base64:ää.
Base64 ei ole salausta
Tämä on yleisin väärinkäsitys. Base64 on koodaus: siinä ei ole avainta eikä salaisuutta, ja kuka tahansa voi purkaa sen heti. Salasanan, API-avaimen tai henkilötietojen koodaaminen Base64:ään ei suojaa niitä millään tavalla. HTTP Basic -todennus esimerkiksi lähettää käyttäjätunnus:salasana Base64-koodattuna, minkä vuoksi sitä saa käyttää vain HTTPS-yhteyden yli. Jos tarvitset luottamuksellisuutta, käytä oikeaa salausta (kuten AES) tai salasanatiivistettä (kuten Argon2 tai bcrypt), älä Base64:ää.
Yksityisyys
Kaikki koodaus ja purku tapahtuu paikallisesti selaimessasi JavaScriptillä. Kirjoittamaasi tekstiä ei lähetetä palvelimelle, tallenneta eikä lokiteta, joten voit tarkastella tokeneita ja asetusarvoja turvallisesti. Työkalu käsittelee vain tekstiä: se ei vastaanota tiedostoja.
Usein kysytyt kysymykset
Miksi purettu teksti näyttää satunnaisilta merkeiltä?
Base64-merkkijono esittää todennäköisesti binääridataa, kuten kuvaa, pakattua tiedostoa tai salattua sisältöä, eikä tekstiä. Purku tuottaa kelvollisia tavuja, mutta ne eivät ole mielekästä UTF-8-tekstiä. Sama voi tapahtua, jos alkuperäinen teksti on koodattu muulla merkistöllä kuin UTF-8:lla.
Miksi työkalu sanoo Base64:ni virheelliseksi?
Kelvollinen Base64 sisältää vain 64 sallittua merkkiä sekä valinnaisen =-täytteen, ja sen pituuden on sovittava neljän merkin ryhmittelyyn. Yleisiä syitä ovat vahingossa mukaan kopioidut ylimääräiset merkit, katkennut merkkijono tai base64url-merkkijono (jossa on - ja _), jota puretaan ilman URL-turvallista valintaa.
Voinko koodata kuvia tai muita tiedostoja?
Et. Tämä työkalu on tarkoitettu vain tekstille. Jos haluat upottaa kuvan HTML:ään tai CSS:ään, tarvitset työkalun, joka lukee tiedoston raakatavut ja tuottaa data-URL-osoitteen.
Onko Base64 turvallinen tapa tallentaa salasanoja?
Ei ole. Kuka tahansa voi purkaa Base64:n sekunnin murto-osassa. Salasanat pitää tallentaa tähän tarkoitukseen suunnitellulla hitaalla tiivistealgoritmilla, kuten Argon2, scrypt tai bcrypt.
Mitä eroa on täytetyllä ja täyttämättömällä Base64:llä?
=-täyte vain tekee tulosteen pituudesta neljän monikerran, eikä se sisällä tietoa. Useimmat purkajat osaavat rakentaa datan ilmankin. base64url jättää täytteen yleensä pois, koska = on itse varattu merkki URL-osoitteissa.
Aiheeseen liittyvät työkalut
- URL-koodaaja ja -dekooderi Ilmainen URL-koodaaja ja -dekooderi. Prosenttikoodaa kyselyparametreja tai kokonaisia URL-osoitteita, pura %XX-sekvenssit ja käsittele + välilyöntinä.
- JSON-muotoilija ja -validaattori Ilmainen JSON-muotoilija ja -validaattori, joka siistii, pienentää ja tarkistaa JSONin selaimessa ja ilmoittaa syntaksivirheet rivin ja sarakkeen kanssa.
- UUID-generaattori Ilmainen UUID-generaattori v4- ja v7-tunnisteille. Luo jopa 1 000 kerralla isoilla kirjaimilla tai ilman tavuviivoja ja lataa .txt-tiedostona.