Utilia

Base64-kóðun og afkóðun

Ókeypis Base64-kóðun og afkóðun með fullum UTF-8 stuðningi og base64url-valkosti. Virkar í vafranum þínum og engu er hlaðið upp.

Hvernig á að nota Base64-kóðun og afkóðun

  1. Veldu hvort þú vilt kóða texta í Base64 eða afkóða Base64 aftur í texta.
  2. Sláðu inn eða límdu inntakið þitt í textareitinn. Séríslenskir stafir, önnur letur og emoji-tákn eru öll studd.
  3. Ef niðurstaðan á að fara í vefslóð, skráarheiti eða JSON Web Token skaltu kveikja á valkostinum Öruggt í slóðum (base64url) til að fá base64url-afbrigðið.
  4. Lestu niðurstöðuna og afritaðu hana. Ef þú ert að afkóða og inntakið er ekki gilt Base64 færðu villuboð í stað þess að fá óskiljanlegt rusl.

Hvað er Base64?

Base64 er leið til að tákna hvaða bætaröð sem er með aðeins 64 prentanlegum ASCII-stöfum: stóru stöfunum A–Z, litlu stöfunum a–z, tölustöfunum 0–9 og tveimur táknum, + og /. Stafurinn = er notaður sem fylling í lokin. Það er til vegna þess að mörg kerfi voru hönnuð til að flytja texta en ekki hrá tvíundargögn. Meginmál tölvupósts, HTTP-hausar, XML- og JSON-skjöl og gagnaslóðir (data URL) gera ráð fyrir stöfum sem lifa það af að vera afritaðir, skráðir og sendir án þess að breytast.

Reikniritið vinnur með þriggja bæta hópa (24 bitar) og skiptir þeim í fjögur 6 bita gildi, sem hvert um sig samsvarar einum af 64 stöfunum. Þess vegna er úttak Base64 alltaf um 33% stærra en inntakið: hver 3 bæti verða að 4 stöfum. Þegar lengd inntaksins er ekki margfeldi af þremur er einu eða tveimur = bætt við svo lengd úttaksins verði margfeldi af fjórum. Orðið Hi kóðast til dæmis í SGk= og Hello í SGVsbG8=.

Texti, bæti og UTF-8

Base64 kóðar bæti, ekki stafi, svo texta þarf fyrst að breyta í bæti. Þetta verkfæri notar UTF-8, kóðunina sem nánast hver nútímavefsíða og vefviðmót notar. Það þýðir að café verður Y2Fmw6k= og emoji eins og 👍 (fjögur bæti í UTF-8) er kóðað rétt og afkóðast aftur í sama tákn. Mörg fljótgerð skriftusnið sem treysta á eldri btoa()-aðgerð vafrans bila á öllu utan Latin-1. Þetta verkfæri hefur ekki þá takmörkun.

Venjulegt Base64 eða base64url

Venjulegt Base64 notar + og /, sem hafa sérstaka merkingu í vefslóðum og skráarslóðum. Slóðaörugga afbrigðið, base64url, setur - í stað + og _ í stað / og sleppir yfirleitt =-fyllingunni. Það er sniðið sem notað er í JSON Web Token (JWT), í mörgum OAuth-færibreytum og í slóðastyttingum. Kveiktu á slóðaörugga valkostinum þegar þú þarft þetta snið, en hafðu hann slökktan fyrir viðhengi í tölvupósti, gagnaslóðir eða stillingaskrár sem búast við venjulegu Base64.

Base64 er ekki dulritun

Þetta er algengasti misskilningurinn. Base64 er kóðun: það hefur engan lykil og ekkert leyndarmál og hver sem er getur snúið því við samstundis. Að kóða lykilorð, API-lykil eða persónuupplýsingar í Base64 verndar þær á engan hátt. HTTP Basic-auðkenning sendir til dæmis notandanafn:lykilorð í Base64, og þess vegna má aðeins nota hana yfir HTTPS. Ef þú þarft trúnað skaltu nota raunverulega dulritun (eins og AES) eða lykilorðatætigildi (eins og Argon2 eða bcrypt), ekki Base64.

Persónuvernd

Öll kóðun og afkóðun fer fram á tækinu þínu, í vafranum, með JavaScript. Textinn sem þú slærð inn er aldrei sendur á netþjón, vistaður eða skráður, svo þú getur öruggur skoðað tákn (tokens) og stillingagildi. Þetta verkfæri vinnur aðeins með texta og tekur ekki við innhlöðnum skrám.

Algengar spurningar

Af hverju lítur afkóðaði textinn minn út eins og tilviljanakennd tákn?

Base64-strengurinn táknar líklega tvíundargögn, eins og mynd, þjappaða skrá eða dulritað efni, frekar en texta. Afkóðunin skilar gildum bætum en þau eru ekki merkingarbær UTF-8 texti. Þetta getur líka gerst ef upphaflegi textinn var kóðaður með annarri stafatöflu en UTF-8.

Af hverju segir verkfærið að Base64-ið mitt sé ógilt?

Gilt Base64 inniheldur aðeins stafina 64 auk valfrjálsrar =-fyllingar og lengdin þarf að ganga upp í hópum af fjórum. Algengar orsakir eru stafir sem slæddust með við afritun, strengur sem var styttur, eða base64url-strengur (með - og _) sem er afkóðaður án þess að kveikt sé á slóðaörugga valkostinum.

Get ég kóðað myndir eða aðrar skrár?

Nei. Þetta verkfæri er hannað fyrir texta eingöngu. Til að fella mynd inn í HTML eða CSS þarftu verkfæri sem les hrá bæti skráarinnar og býr til gagnaslóð.

Er Base64 öruggt til að geyma lykilorð?

Nei. Hver sem er getur afkóðað Base64 á broti úr sekúndu. Lykilorð á að geyma með sérstöku hægvirku tætireikniriti eins og Argon2, scrypt eða bcrypt.

Hver er munurinn á Base64 með fyllingu og án hennar?

Fylling með = gerir aðeins lengd úttaksins að margfeldi af fjórum og ber engar upplýsingar. Flestir afkóðarar geta endurbyggt gögnin án hennar. base64url sleppir fyllingunni oft vegna þess að = er sjálft frátekið tákn í vefslóðum.