← Zana zote

Usimbaji na Usimbuaji wa Base64

Simba na simbua Base64 papo hapo kwenye kivinjari chako. Jifunze Base64 ni nini, kwa nini huongeza ukubwa kwa 33%, na kwa nini ni usimbaji si usiri.

Base64 ni Nini na Kwa Nini Inatumika

Base64 ni mfumo wa kuhamisha data ya binary kuwa maandishi. Huchukua bait ghafi - aina ya data inayounda picha, mafaili yaliyobanwa, funguo za kriptografia, au chochote kingine kisichokuwa maandishi ya kawaida yanayosomeka - na kuyaandika upya kwa kutumia alfabeti ndogo, salama ya herufi 64 zinazoweza kuchapishwa: herufi kubwa 26 A-Z, herufi ndogo 26 a-z, tarakimu kumi 0-9, na alama mbili za ziada, kwa kawaida + na /. Alama ya usawa hutumika kujaza nafasi mwishoni. Kwa kuwa kila herufi inayozalisha ni ASCII ya kawaida, matokeo yanaweza kupita kwenye mifumo iliyoundwa kushughulikia maandishi tu.

Hiyo ndiyo sababu nzima Base64 iliundwa. Itifaki nyingi za zamani - barua pepe ikiwa mfano wa kawaida - hudhani kuwa maudhui wanayobeba ni maandishi. Ukiwapa data ghafi ya binary, baiti zingine huharibika, kuondolewa, au kutafsiriwa kama herufi za udhibiti, na data hufika ikiwa imeharibika. Base64 huepuka tatizo hilo kwa kubadilisha baiti kuwa umbo ambalo njia yoyote salama kwa maandishi itapitisha bila kubadilika. Data asili basi inaweza kujengwa upya kikamilifu upande wa pili.

Mkondo wa data ya binary ukibadilika kuwa mkondo wa herufi za maandishi kwenye rangi ya indigo nyeusi yenye mwanga wa samawati na dhahabu
Base64 hubadilisha baiti ghafi kuwa mkondo wa herufi salama, unaofaa kwa maandishi.

Jinsi Ubadilishaji Unavyofanya Kazi

Kwa mtazamo wa kimfumo, Base64 hupanga data inayoingia katika vikundi vya baiti tatu - ambazo ni biti 24 - kisha kugawanya tena biti hizo 24 katika vikundi vinne vya biti sita kila kimoja. Biti sita zinaweza kuwakilisha thamani 64 zinazowezekana, ndiyo sababu hasa alfabeti ina herufi 64. Hivyo baiti tatu za data zinazoingia daima huwa herufi nne za matokeo. Wakati urefu wa data unaoingia si mzunguko safi wa tatu, mfumo wa kubadilisha hujaza kundi la mwisho kwa herufi moja au mbili za = ili kifaa cha kubadilisha kirudi kijue data halisi inapoishia.

Uwiano huu wa herufi nne-kwa-tatu ndio chanzo cha ongezeko maarufu la ukubwa: matokeo ya Base64 ni takriban asilimia 33 kubwa zaidi ya data asili. Ikiwa maandishi yaliyobadilishwa yanawekwa katika mistari yenye upana maalum, kama viwango vya barua pepe mara nyingi vinavyohitaji, unalipa asilimia chache za ziada juu ya hilo kwa ajili ya mistari mipya. Ongezeko hilo ni bei ya ufanano, na kwa matumizi mengi ni biashara ya haki.

Mahali Unapokutana na Base64

Ukishajua utafutalo, Base64 hujitokeza kila mahali katika kompyuta ya kila siku:

  • Data URI. Picha ndogo au fonti inaweza kupachikwa moja kwa moja katika HTML au CSS kwa kutumia URI ya data:, ikiwa na maudhui ya faili yaliyoandikwa kama Base64. Kivinjari hukibadilisha papo hapo, kikihifadhi ombi tofauti la mtandao.
  • Viambatanisho vya barua pepe. MIME, kiwango kinachoruhusu barua pepe kubeba mafaili, hutegemea Base64 kuhamisha viambatanisho vya binary kupitia mfumo wa barua pepe wa maandishi pekee bila uharibifu.
  • Uthibitishaji wa Msingi wa HTTP. Kichwa cha kawaida cha Authorization: Basic ... ni jina la mtumiaji na nenosiri tu vilivyounganishwa na alama ya koloni na kubadilishwa Base64 - ndiyo sababu hasa uthibitishaji wa Msingi lazima daima uendeshwe kupitia HTTPS.
  • Tokeni na usanidi. Tokeni za JSON Web, vyeti, funguo za SSH, na thamani nyingi za usanidi huhifadhiwa au kutumwa kama Base64 ili zibaki salama wakati wa kunakili-na-kubandika na uhifadhi wa maandishi.

Kubadilisha si Usimbaji Fiche

Hili ndilo jambo muhimu zaidi kuelewa, na huwakwaza wanaoanza na waandaji programu wenye uzoefu vilevile. Base64 si usimbaji fiche na haitoi usalama wowote. Hakuna funguo ya siri, hakuna nenosiri, na hakuna kitu binafsi kuhusu hilo. Ubadilishaji ni wa hadharani kikamilifu na unaoweza kurudishwa kikamilifu: yeyote anayeona mfuatano wa Base64 anaweza kuubadilisha kurudi kuwa baiti asili kwa sekunde moja, kwa kutumia chombo kama hiki hasa.

Kwa hiyo Base64 ni mahali pabaya pa kuficha manenosiri, funguo za API, au thamani nyingine yoyote nyeti. Ikiwa mfuatano unaonekana tu umechanganywa, hilo halimfanyi kuwa umelindwa. Usimbaji fiche, kwa upande mwingine, hubadilisha data kwa funguo ya siri ili tu mtu anayeishikilia funguo hiyo aweze kuisoma. Hivi vitu viwili hutatua matatizo tofauti: usimbaji fiche hulinda usiri, Base64 hulinda ufanano. Mara nyingi hutumika pamoja - unaweza kusimba data kwa AES kisha kubadilisha matokeo kuwa Base64 ili yaweze kupita kupitia njia ya maandishi - lakini kimoja hakiwahi kuwa mbadala wa kingine.

Picha ya kufikirika ikiyeyuka kuwa mkondo wa herufi zenye mwanga na kuungana upya, rangi ya indigo bahari na samawati na dhahabu
Kubadilisha na kurudisha ni ulinganifu kamili - na hautoi usiri wowote.

Kubadilisha dhidi ya Kufungua

Pande hizo mbili ni picha za kioo rahisi. Kubadilisha huchukua maandishi au binary yako asili na kuzalisha mfuatano wa herufi za Base64. Kufungua huchukua mfuatano wa Base64 na kujenga upya baiti halisi asili. Chombo chetu hufanya vyote viwili moja kwa moja ndani ya kivinjari chako - hakuna unachoandika au kubandika kinachotumwa kwa seva, hivyo operesheni ni ya ndani na binafsi kabisa. Hilo hufanya iwe salama kufungua tokeni unayotatua au kubadilisha kipande unachotaka kupachika, bila data yako kutoka kwenye ukurasa.

Kwa ubadilishaji unaohusiana, ona chombo chetu cha kubadilisha/kufungua URL kwa usimbaji wa percent, au kifungua JWT unapohitaji kuchunguza sehemu za Base64 ndani ya tokeni. Utavipata pamoja na vifaa vyetu vingine vya wasanidi programu.

Maswali yanayoulizwa mara kwa mara

Je, Base64 ni aina ya usimbaji fiche?

Hapana. Base64 ni ubadilishaji, si usimbaji fiche. Hutumii funguo yoyote na inaweza kurudishwa kikamilifu na yeyote, hivyo haitoi usalama. Tumia usimbaji fiche wa kweli kama AES au RSA kulinda data nyeti.

Kwa nini Base64 hufanya data kuwa kubwa zaidi?

Base64 hubadilisha kila baiti tatu za data inayoingia kuwa herufi nne za matokeo, jambo linaloongeza takriban asilimia 33 kwenye ukubwa. Ikiwa matokeo yamegawanywa katika mistari yenye urefu maalum, mistari mipya huongeza asilimia chache zaidi juu ya hilo.

Base64 hutumia herufi gani?

Alfabeti ya kawaida ni herufi kubwa 26, herufi ndogo 26, tarakimu 0 hadi 9, pamoja na alama za pamoja na mgawanyiko, huku alama ya usawa ikitumika kujaza nafasi mwishoni.

Je, ninaweza kuhifadhi manenosiri kwa usalama katika Base64?

Hapana. Base64 hubadilisha tu jinsi data inavyoonekana, si nani anayeweza kuisoma. Yeyote anaweza kuifungua papo hapo. Manenosiri yanapaswa kupitishwa kwenye kanuni ya hashi imara, na siri zinapaswa kusimbwa fiche.

Je, chombo hiki cha Base64 ni cha faragha?

Ndiyo. Kubadilisha na kufungua hufanyika kabisa ndani ya kivinjari chako. Hakuna unachoingiza kinachopakiwa au kutumwa kwa seva yoyote, hivyo data yako inabaki kwenye kifaa chako mwenyewe.

Tofauti kati ya kubadilisha na kufungua ni ipi?

Kubadilisha hubadilisha maandishi au binary asili kuwa mfuatano wa Base64. Kufungua hurudisha hilo, kubadilisha mfuatano wa Base64 kurudi kuwa baiti halisi asili. Ni operesheni za kioo.