Amgodio Base64

Gyda'r offeryn Amgodio Base64, gallwch chi amgryptio'r testun rydych chi'n ei nodi gyda'r dull Base64. Os dymunwch, gallwch ddadgodio'r cod Base64 wedi'i amgryptio gyda'r offeryn Dadgodio Base64.

Beth yw amgodio Base64?

Mae Base64 Encoding yn gynllun amgodio sy'n caniatáu i ddata deuaidd gael ei gludo ar amgylcheddau sy'n defnyddio rhai amgodiadau nod cyfyngedig yn unig (amgylcheddau lle na ellir defnyddio pob cod nod, megis xml, html, sgript, cymwysiadau negeseua gwib). Nifer y nodau yn y cynllun hwn yw 64, a daw'r rhif 64 yn y gair Base64 o'r fan hon.

Pam Defnyddio Amgodio Base64?

Mae'r angen am amgodio Base64 yn deillio o broblemau sy'n codi pan fydd cyfryngau'n cael eu trosglwyddo mewn fformat deuaidd amrwd i systemau testun. Oherwydd bod systemau testun (fel e-bost) yn dehongli data deuaidd fel ystod eang o nodau, gan gynnwys nodau gorchymyn arbennig, mae'r rhan fwyaf o'r data deuaidd a drosglwyddir i'r cyfrwng trosglwyddo yn cael ei gamddehongli gan y systemau hyn ac yn cael ei golli neu ei lygru yn y trosglwyddiad. proses.

Un dull o amgodio data deuaidd o'r fath mewn ffordd sy'n osgoi problemau trosglwyddo o'r fath yw eu hanfon fel testun ASCII plaen mewn fformat wedi'i amgodio Base64. Dyma un o'r technegau a ddefnyddir gan y safon MIME i anfon data heblaw testun plaen. Mae llawer o ieithoedd rhaglennu, fel PHP a Javascript, yn cynnwys swyddogaethau amgodio a datgodio Base64 i ddehongli data a drosglwyddir gan ddefnyddio amgodio Base64.

Rhesymeg Amgodio Base64

Yn amgodio Base64, rhennir 3 * 8 did = 24 did o ddata sy'n cynnwys 3 beit yn 4 grŵp o 6 did. Mae'r nodau sy'n cyfateb i'r gwerthoedd degol rhwng [0-64] o'r 4 grŵp 6-did hyn yn cael eu paru o'r tabl Base64 i amgodio. Rhaid i nifer y nodau a gafwyd o ganlyniad i amgodio Base64 fod yn lluosrif o 4. Nid yw data wedi'i amgodio nad yw'n lluosrif o 4 yn ddata Base64 dilys. Wrth amgodio gyda'r algorithm Base64, pan fydd yr amgodio wedi'i gwblhau, os nad yw hyd y data yn lluosrif o 4, mae'r nod "=" (cyfartal) yn cael ei ychwanegu at ddiwedd yr amgodio nes ei fod yn lluosrif o 4. Er enghraifft, os oes gennym ddata amgodio 10-cymeriad Base64 o ganlyniad i'r amgodio, dylid ychwanegu dau "==" at y diwedd.

Enghraifft Amgodio Base64

Er enghraifft, cymerwch y tri rhif ASCII 155, 162 a 233. Mae'r tri rhif hyn yn ffurfio ffrwd ddeuaidd o 100110111010001011101001. Mae ffeil ddeuaidd fel delwedd yn cynnwys ffrwd ddeuaidd sy'n gweithio am ddegau neu gannoedd o filoedd o sero a rhai. Mae amgodiwr Base64 yn dechrau trwy rannu'r ffrwd ddeuaidd yn grwpiau o chwe nod: 100110 111010 001011 101001. Mae pob un o'r grwpiau hyn yn cael ei drosi i rifau 38, 58, 11, a 41. Mae ffrwd ddeuaidd chwe chymeriad yn cael ei throsi rhwng deuaidd (neu sylfaenol). 2) i nodau degol (sylfaen-10) trwy sgwario pob gwerth a gynrychiolir gan 1 yn yr arae deuaidd gan y sgwâr lleoliad. Gan ddechrau o'r dde a symud i'r chwith a dechrau ar sero, mae'r gwerthoedd yn y ffrwd ddeuaidd yn cynrychioli 2^0, yna 2^1, yna 2^2, yna 2^3, yna 2^4, yna 2 ^ 5.

Dyma ffordd arall i edrych arno. Gan ddechrau o'r chwith, mae pob safle yn werth 1, 2, 4, 8, 16 a 32. Os oes gan y slot rif deuaidd 1, rydych chi'n ychwanegu'r gwerth hwnnw; os oes gan y slot 0, rydych chi ar goll. Arae deuaidd 100110 yn troi 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 degol + 4 + 0 + 0 + 32. Mae amgodio Base64 yn cymryd y llinyn deuaidd hwn ac yn ei rannu'n werthoedd 6-did 38, 58, 11 a 41. Yn olaf, mae'r niferoedd hyn yn cael eu trosi i nodau ASCII gan ddefnyddio tabl amgodio Base64.