Base64 կոդավորում

Base64 Encoding գործիքի միջոցով կարող եք գաղտնագրել ձեր մուտքագրած տեքստը Base64 մեթոդով: Ցանկության դեպքում կարող եք վերծանել գաղտնագրված Bas64 կոդը Base64 Decode գործիքի միջոցով։

Ի՞նչ է Base64 կոդավորումը:

Base64 Encoding-ը կոդավորման սխեմա է, որը թույլ է տալիս երկուական տվյալները տեղափոխել այնպիսի միջավայրեր, որոնք օգտագործում են միայն որոշ սահմանափակ նիշերի կոդավորումներ (միջավայրեր, որտեղ կարող են օգտագործվել ոչ բոլոր նիշերի կոդերը, ինչպիսիք են xml, html, script, ակնթարթային հաղորդագրությունների հավելվածներ): Այս սխեմայի նիշերի թիվը 64 է, իսկ Base64 բառի 64 թիվը գալիս է այստեղից։

Ինչու՞ օգտագործել Base64 կոդավորումը:

Base64 կոդավորման անհրաժեշտությունը բխում է այն խնդիրներից, որոնք առաջանում են, երբ մեդիան հում երկուական ձևաչափով փոխանցվում է տեքստի վրա հիմնված համակարգեր: Քանի որ տեքստի վրա հիմնված համակարգերը (օրինակ՝ էլ. փոստը) երկուական տվյալները մեկնաբանում են որպես նիշերի լայն շրջանակ, ներառյալ հատուկ հրամանի նիշերը, փոխանցման միջոցին փոխանցվող երկուական տվյալների մեծ մասը սխալ մեկնաբանվում է այս համակարգերի կողմից և կորչում կամ փչանում է փոխանցման ընթացքում: գործընթաց։

Նման երկուական տվյալների կոդավորման եղանակներից մեկը, որը խուսափում է փոխանցման նման խնդիրներից, դրանք ուղարկելն է որպես պարզ ASCII տեքստ Base64 կոդավորված ձևաչափով: Սա MIME ստանդարտի կողմից օգտագործվող մեթոդներից մեկն է՝ պարզ տեքստից բացի այլ տվյալներ ուղարկելու համար: Ծրագրավորման շատ լեզուներ, ինչպիսիք են PHP-ն և Javascript-ը, ներառում են Base64 կոդավորման և վերծանման գործառույթներ՝ Base64 կոդավորման միջոցով փոխանցված տվյալների մեկնաբանման համար:

Base64 կոդավորման տրամաբանություն

Base64 կոդավորման մեջ 3 բայթից բաղկացած 3 * 8 բիթ = 24 բիթ տվյալները բաժանված են 6 բիթանոց 4 խմբի։ Այս 4 6-բիթանոց խմբերի [0-64] միջև տասնորդական արժեքներին համապատասխանող նիշերը համընկնում են Base64 աղյուսակից՝ կոդավորելու համար: Base64 կոդավորման արդյունքում ստացված նիշերի թիվը պետք է լինի 4-ի բազմապատիկ: Կոդավորված տվյալները, որոնք 4-ի բազմապատիկ չեն, Base64-ի տվյալները վավեր չեն: Base64 ալգորիթմով կոդավորելիս, երբ կոդավորումն ավարտված է, եթե տվյալների երկարությունը 4-ի բազմապատիկ չէ, ապա կոդավորման վերջում ավելացվում է «=" (հավասար) նիշը, քանի դեռ այն 4-ի բազմապատիկ չէ։ Օրինակ, եթե կոդավորման արդյունքում ունենք 10 նիշանոց Bas64 կոդավորված տվյալներ, ապա վերջում պետք է ավելացվեն երկու «=="։

Base64 կոդավորման օրինակ

Օրինակ, վերցրեք երեք ASCII համարները 155, 162 և 233: Այս երեք թվերը կազմում են 100110111010001011101001 երկուական հոսք: Երկուական ֆայլը, ինչպիսին պատկերն է, պարունակում է երկուական հոսք, որն աշխատում է տասնյակ կամ հարյուր հազարավոր զրոների և միավորների համար: Base64 կոդավորիչը սկսում է երկուական հոսքը բաժանելով վեց նիշերից բաղկացած խմբերի. Վեց նիշանոց երկուական հոսքը փոխակերպվում է երկուական (կամ հիմնական) միջև: 2) մինչև տասնորդական (բազային-10) նիշեր՝ երկուական զանգվածում յուրաքանչյուր արժեք, որը ներկայացված է 1-ով, դիրքային քառակուսու վրա: Սկսած աջից և շարժվելով դեպի ձախ և սկսած զրոյից, երկուական հոսքի արժեքները ներկայացնում են 2^0, ապա 2^1, ապա 2^2, ապա 2^3, ապա 2^4, ապա 2^: 5.

Ահա դրան նայելու ևս մեկ ձև: Ձախից սկսած յուրաքանչյուր դիրք արժե 1, 2, 4, 8, 16 և 32: Եթե ​​բնիկն ունի երկուական թիվ 1, դուք ավելացնում եք այդ արժեքը. եթե բնիկը ունի 0, դուք բացակայում եք: Երկուական զանգված 100110 դառնում է 38՝ 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 տասնորդական + 4 + 0 + 0 + 32: Base64 կոդավորումը վերցնում է այս երկուական տողը և այն բաժանում 6-բիթանոց արժեքների՝ 38, 58, 11 և 41: Վերջապես, այս թվերը փոխակերպվում են ASCII նիշերի՝ օգտագործելով Base64 կոդավորման աղյուսակը: