Utilia

Koduesi dhe dekoduesi Base64

Kodues dhe dekodues Base64 falas me mbështetje të plotë UTF-8 dhe opsion base64url. Funksionon plotësisht në shfletuesin tënd, asgjë nuk ngarkohet.

Si të përdorësh koduesin dhe dekoduesin Base64

  1. Zgjidh nëse dëshiron ta kodosh tekstin në Base64 apo ta dekodosh Base64 përsëri në tekst.
  2. Shkruaj ose ngjit hyrjen në kutinë e tekstit. Mbështeten shkronjat me shenja diakritike, alfabetet jo-latine dhe emoji-t.
  3. Nëse rezultati do të përdoret në një URL, në një emër skedari ose në një JSON Web Token, aktivizo opsionin I sigurt për URL (base64url) për të marrë variantin base64url.
  4. Lexo rezultatin dhe kopjoje. Nëse po dekodon dhe hyrja nuk është Base64 i vlefshëm, një mesazh gabimi ta tregon në vend që të prodhojë shenja pa kuptim.

Çfarë është Base64?

Base64 është një mënyrë për të paraqitur bajte të çfarëdoshme duke përdorur vetëm 64 karaktere ASCII të printueshme: shkronjat e mëdha A–Z, shkronjat e vogla a–z, shifrat 0–9 dhe dy simbolet + dhe /. Karakteri = përdoret si mbushje në fund. Ekziston sepse shumë sisteme u projektuan për të bartur tekst, jo të dhëna binare të papërpunuara. Trupat e email-eve, titujt HTTP, dokumentet XML dhe JSON si dhe URL-të e të dhënave presin karaktere që mbijetojnë kur kopjohen, regjistrohen dhe transmetohen pa u ndryshuar.

Algoritmi punon me grupe prej tre bajtesh (24 bite) dhe i ndan në katër vlera 6-bitëshe, secila prej të cilave i përgjigjet një prej 64 karaktereve. Prandaj dalja Base64 është gjithmonë rreth 33% më e madhe se hyrja: çdo 3 bajte bëhen 4 karaktere. Kur gjatësia e hyrjes nuk është shumëfish i tre, shtohen një ose dy shenja = që gjatësia e daljes të jetë shumëfish i katër. Për shembull, fjala Hi kodohet si SGk= dhe Hello si SGVsbG8=.

Teksti, bajtet dhe UTF-8

Base64 kodon bajte, jo karaktere, ndaj teksti duhet së pari të kthehet në bajte. Ky mjet përdor UTF-8, kodimin që përdorin pothuajse të gjitha faqet web dhe API-të moderne. Kjo do të thotë që café bëhet Y2Fmw6k= dhe një emoji si 👍 (katër bajte në UTF-8) kodohet saktë dhe dekodohet përsëri në të njëjtën emoji. Shumë skripte të shpejta që mbështeten te funksioni i vjetër btoa() i shfletuesit dështojnë për çdo gjë jashtë Latin-1; ky mjet nuk e ka këtë kufizim.

Base64 standard kundrejt base64url

Base64 standard përdor + dhe /, që kanë kuptime të veçanta në URL dhe në shtigjet e skedarëve. Varianti i sigurt për URL, i quajtur base64url, e zëvendëson + me - dhe / me _, dhe zakonisht heq mbushjen =. Është formati i përdorur në JSON Web Tokens (JWT), në shumë parametra OAuth dhe në shkurtuesit e lidhjeve. Aktivizo opsionin e sigurt për URL kur të të duhet ky format, dhe lëre të çaktivizuar për bashkëngjitjet e email-eve, URL-të e të dhënave ose skedarët e konfigurimit që presin Base64 standard.

Base64 nuk është enkriptim

Ky është keqkuptimi më i zakonshëm. Base64 është një kodim: nuk ka çelës e as sekret, dhe kushdo mund ta kthejë menjëherë. Kodimi i një fjalëkalimi, i një çelësi API ose i të dhënave personale në Base64 nuk i mbron aspak. Autentikimi bazë HTTP, për shembull, dërgon username:password në Base64, prandaj duhet përdorur vetëm mbi HTTPS. Nëse të duhet konfidencialitet, përdor enkriptim të vërtetë (si AES) ose një hash fjalëkalimi (si Argon2 ose bcrypt), jo Base64.

Privatësia

I gjithë kodimi dhe dekodimi bëhet lokalisht në shfletuesin tënd me JavaScript. Teksti që shkruan nuk dërgohet kurrë te një server, nuk ruhet dhe nuk regjistrohet, ndaj mund të inspektosh me siguri tokenë ose vlera konfigurimi. Ky mjet punon vetëm me tekst; nuk pranon skedarë të ngarkuar.

Pyetje të shpeshta

Pse teksti im i dekoduar duket si simbole të rastësishme?

Vargu Base64 ndoshta paraqet të dhëna binare, si një imazh, një skedar i ngjeshur ose përmbajtje e enkriptuar, dhe jo tekst. Dekodimi prodhon bajte të vlefshme, por ato nuk janë tekst UTF-8 me kuptim. Mund të ndodhë edhe nëse teksti origjinal është kodur me një grup karakteresh tjetër nga UTF-8.

Pse mjeti thotë se Base64 im është i pavlefshëm?

Base64 i vlefshëm përmban vetëm 64 karakteret e lejuara plus mbushjen opsionale =, dhe gjatësia e tij duhet të përshtatet me grupimin prej 4 karakteresh. Shkaqet e zakonshme janë karaktere të tepërta të kopjuara aksidentalisht, një varg i cunguar, ose një varg base64url (me - dhe _) i dekoduar pa opsionin e sigurt për URL të aktivizuar.

A mund të kodoj imazhe ose skedarë të tjerë?

Jo. Ky mjet është projektuar vetëm për tekst. Për të futur një imazh në HTML ose CSS të duhet një mjet që lexon bajtet e papërpunuara të skedarit dhe prodhon një URL të dhënash.

A është Base64 i sigurt për ruajtjen e fjalëkalimeve?

Jo. Base64 mund të dekodohet nga kushdo në një pjesë të sekondës. Fjalëkalimet duhen ruajtur me një algoritëm hash të ngadaltë dhe të dedikuar, si Argon2, scrypt ose bcrypt.

Cili është ndryshimi mes Base64 me mbushje dhe pa mbushje?

Mbushja me = vetëm e bën gjatësinë e daljes shumëfish të katërt; nuk bart asnjë informacion. Shumica e dekoduesve mund t’i rindërtojnë të dhënat pa të. base64url zakonisht e heq mbushjen sepse = është vetë një karakter i rezervuar në URL.