Base64 Kodējums

Izmantojot Base64 kodēšanas rīku, varat šifrēt ievadīto tekstu ar Base64 metodi. Ja vēlaties, varat atšifrēt šifrēto Base64 kodu, izmantojot Base64 atšifrēšanas rīku.

Kas ir Base64 kodējums?

Base64 Encoding ir kodēšanas shēma, kas ļauj transportēt bināros datus vidēs, kurās tiek izmantoti tikai daži ierobežoti rakstzīmju kodējumi (vidēs, kurās nevar izmantot visus rakstzīmju kodus, piemēram, xml, html, skriptu, tūlītējās ziņojumapmaiņas lietojumprogrammas). Rakstzīmju skaits šajā shēmā ir 64, un skaitlis 64 vārdā Base64 nāk no šejienes.

Kāpēc izmantot Base64 kodējumu?

Nepieciešamība pēc Base64 kodēšanas izriet no problēmām, kas rodas, pārsūtot datu nesēju neapstrādātā binārā formātā uz teksta sistēmām. Tā kā uz teksta balstītas sistēmas (piemēram, e-pasts) interpretē bināros datus kā plašu rakstzīmju klāstu, tostarp speciālās komandu rakstzīmes, lielāko daļu bināro datu, kas tiek pārsūtīti uz pārsūtīšanas datu nesēju, šīs sistēmas nepareizi interpretē un pārraides laikā tie tiek pazaudēti vai bojāti. process.

Viena no metodēm šādu bināro datu kodēšanai, lai izvairītos no šādām pārraides problēmām, ir nosūtīt tos kā vienkāršu ASCII tekstu Base64 kodētā formātā. Šī ir viena no metodēm, ko izmanto MIME standarts, lai nosūtītu datus, kas nav vienkāršs teksts. Daudzas programmēšanas valodas, piemēram, PHP un Javascript, ietver Base64 kodēšanas un dekodēšanas funkcijas, lai interpretētu datus, kas pārsūtīti, izmantojot Base64 kodējumu.

Base64 kodēšanas loģika

Base64 kodējumā 3 * 8 biti = 24 biti datu, kas sastāv no 3 baitiem, ir sadalīti 4 grupās pa 6 bitiem. Rakstzīmes, kas atbilst decimālvērtībām starp [0-64] no šīm 4 6 bitu grupām, tiek saskaņotas no Base64 tabulas, lai kodētu. Rakstzīmju skaitam, kas iegūts, izmantojot Base64 kodējumu, ir jābūt 4 reizinājumam. Kodēti dati, kas nav reizināts ar 4, nav derīgi Base64 dati. Kodējot ar Base64 algoritmu, kad kodēšana ir pabeigta, ja datu garums nav reizināts ar 4, kodējuma beigās tiek pievienota rakstzīme "=" (vienāds), līdz tā ir 4 reizes. Piemēram, ja kodēšanas rezultātā mums ir 10 rakstzīmju Base64 kodēti dati, beigās jāpievieno divi "==".

Base64 kodēšanas piemērs

Piemēram, ņemiet trīs ASCII numurus 155, 162 un 233. Šie trīs skaitļi veido bināro plūsmu 100110111010001011101001. Binārais fails, piemēram, attēls, satur bināru straumi, kas darbojas ar desmitiem vai simtiem tūkstošu nullēm un vieniniekiem. Base64 kodētājs sākas, sadalot bināro straumi sešu rakstzīmju grupās: 100110 111010 001011 101001. Katra no šīm grupām tiek pārtulkota skaitļos 38, 58, 11 un 41. Sešu rakstzīmju binārā straume tiek pārveidota par bināro (vai pamata). 2) līdz decimālzīmēm (10 bāzes), katru vērtību, kas binārajā masīvā attēlota ar 1, kvadrātā ar pozīcijas kvadrātu. Sākot no labās puses un virzoties pa kreisi un sākot no nulles, vērtības binārajā straumē ir 2^0, tad 2^1, tad 2^2, tad 2^3, tad 2^4, tad 2^ 5.

Šeit ir vēl viens veids, kā to aplūkot. Sākot no kreisās puses, katra pozīcija ir 1, 2, 4, 8, 16 un 32 vērtībā. Ja slotam ir binārais skaitlis 1, jūs pievienojat šo vērtību; ja slotā ir 0, jums trūkst. Binārais masīvs 100110 pagriezieni 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimālzīmes + 4 + 0 + 0 + 32. Base64 kodējums ņem šo bināro virkni un sadala to 6 bitu vērtībās 38, 58, 11 un 41. Visbeidzot, šie skaitļi tiek pārveidoti par ASCII rakstzīmēm, izmantojot Base64 kodēšanas tabulu.