Teknobench

Kodifikatur u dekodifikatur tal-Base64

Kodifikatur u dekodifikatur tal-Base64 b’xejn b’appoġġ sħiħ għall-UTF-8 u għażla base64url sigura għall-URL. Jaħdem kompletament fil-brawżer, xejn ma jittella’.

Kif tuża l-kodifikatur u d-dekodifikatur tal-Base64

  1. Agħżel jekk tridx tikkodifika test għal Base64 jew tiddekodifika Base64 lura għal test.
  2. Ikteb jew waħħal l-input fil-kaxxa tat-test. Ittri bl-aċċenti, skripts mhux Latini u emoji kollha huma appoġġjati.
  3. Jekk ir-riżultat se jintuża f’URL, f’isem ta’ fajl jew f’JSON Web Token, attiva l-għażla Sigur għall-URL biex tikseb il-varjant base64url.
  4. Aqra r-riżultat u kkopjah. Jekk qed tiddekodifika u l-input mhuwiex Base64 validu, messaġġ ta’ żball jgħidlek hekk minflok ma jipproduċi karattri bla sens.

X’inhu Base64?

Il-Base64 huwa mod kif tirrappreżenta bytes arbitrarji bl-użu ta’ 64 karattru ASCII li jistgħu jiġu stampati biss: l-ittri kapitali A–Z, l-ittri żgħar a–z, iċ-ċifri 0–9, u ż-żewġ simboli + u /. Il-karattru = jintuża bħala padding fl-aħħar. Jeżisti għax ħafna sistemi nbnew biex iġorru test, mhux data binarja mhux ipproċessata. Il-korpi tal-email, il-headers HTTP, id-dokumenti XML u JSON, u l-URLs tad-data kollha jistennew karattri li jgħaddu mill-kopjar, mir-reġistrazzjoni u mit-trasmissjoni mingħajr ma jinbidlu.

L-algoritmu jaħdem fuq gruppi ta’ tliet bytes (24 bit) u jaqsamhom f’erba’ valuri ta’ 6 bit, kull wieħed jaqbel ma’ wieħed mis-64 karattru. Għalhekk l-output tal-Base64 dejjem ikun madwar 33% akbar mill-input: kull 3 bytes isiru 4 karattri. Meta t-tul tal-input mhuwiex multiplu ta’ tlieta, jiżdiedu sinjal = wieħed jew tnejn biex it-tul tal-output ikun multiplu ta’ erbgħa. Pereżempju, il-kelma Hi tiġi kkodifikata bħala SGk= u Hello bħala SGVsbG8=.

Test, bytes u UTF-8

Il-Base64 jikkodifika bytes, mhux karattri, għalhekk it-test irid l-ewwel jinbidel f’bytes. Din l-għodda tuża l-UTF-8, il-kodifika użata minn kważi kull paġna web u API moderna. Dan ifisser li café isir Y2Fmw6k= u emoji bħal 👍 (erba’ bytes fl-UTF-8) tiġi kkodifikata sew u tiddekodifika lura fl-istess emoji. Ħafna scripts mgħaġġla li jiddependu mill-funzjoni antika btoa() tal-brawżer jfallu fuq kull ħaġa barra mil-Latin-1; din l-għodda m’għandhiex dak il-limitu.

Base64 standard vs. base64url

Il-Base64 standard juża + u /, li għandhom tifsiriet speċjali fl-URLs u fil-paths tal-fajls. Il-varjant sigur għall-URL, imsejjaħ base64url, jissostitwixxi + b’- u / b’_, u normalment ineħħi l-padding =. Huwa l-format użat fil-JSON Web Tokens (JWT), f’ħafna parametri OAuth u fil-qosor tal-URLs. Attiva l-għażla sigura għall-URL meta jkollok bżonn dak il-format, u ħalliha mitfija għal annessi tal-email, URLs tad-data jew fajls ta’ konfigurazzjoni li jistennew Base64 standard.

Il-Base64 mhuwiex ċifrar

Dan huwa l-aktar żball komuni. Il-Base64 huwa kodifika: m’għandux ċavetta u l-ebda sigriet, u kulħadd jista’ jreġġa’ l-proċess lura minnufih. Li tikkodifika password, API key jew data personali fil-Base64 ma tipproteġiha bl-ebda mod. L-awtentikazzjoni bażika HTTP, pereżempju, tibgħat username:password fil-Base64, u għalhekk għandha tintuża biss fuq HTTPS. Jekk għandek bżonn kunfidenzjalità, uża ċifrar veru (bħall-AES) jew hash tal-password (bħall-Argon2 jew il-bcrypt), mhux il-Base64.

Privatezza

Kull kodifika u dekodifika sseħħ lokalment fil-brawżer tiegħek bil-JavaScript. It-test li tidħol qatt ma jintbagħat lil server, jinħażen jew jiġi rreġistrat, għalhekk tista’ tispezzjona tokens jew valuri ta’ konfigurazzjoni b’mod sigur. Din l-għodda taħdem fuq test biss; ma taċċettax fajls mtella’.

Mistoqsijiet frekwenti

Għaliex it-test iddekodifikat tiegħi jidher bħal simboli każwali?

Is-sekwenza Base64 probabbilment tirrappreżenta data binarja, bħal immaġni, fajl ikkompressat jew kontenut ċifrat, minflok test. Id-dekodifika tipproduċi bytes validi, imma mhumiex test UTF-8 sinifikanti. Jista’ jiġri wkoll jekk it-test oriġinali kien ikkodifikat b’sett ta’ karattri differenti mill-UTF-8.

Għaliex l-għodda tgħid li l-Base64 tiegħi huwa invalidu?

Base64 validu fih biss is-64 karattru permessi flimkien ma’ padding = fakultattiv, u t-tul tiegħu jrid jaqbel mal-grupp ta’ 4 karattri. Il-kawżi komuni huma karattri żejda mikkupjati bi żball, string maqtugħa, jew string base64url (b’- u _) iddekodifikat mingħajr l-għażla sigura għall-URL attiva.

Nista’ nikkodifika immaġini jew fajls oħra?

Le. Din l-għodda hija mfassla għal test biss. Biex tinkorpora immaġni f’HTML jew CSS, ikollok bżonn għodda li taqra l-bytes mhux ipproċessati tal-fajl u tipproduċi URL tad-data.

Il-Base64 huwa sigur biex taħżen passwords?

Le. Il-Base64 jista’ jiġi ddekodifikat minn kulħadd f’frazzjoni ta’ sekonda. Il-passwords għandhom jinħażnu b’algoritmu tal-hash bil-mod u dedikat bħall-Argon2, l-scrypt jew il-bcrypt.

X’inhi d-differenza bejn Base64 bil-padding u mingħajru?

Il-padding bi = jagħmel biss it-tul tal-output multiplu ta’ erbgħa; ma jġorr l-ebda informazzjoni. Il-biċċa l-kbira tad-dekodifikaturi jistgħu jerġgħu jibnu d-data mingħajru. Il-base64url spiss ineħħi l-padding għax = innifsu huwa karattru riżervat fl-URLs.