Base64 kodējums tiek izmantots, lai baitus, kuros ir bināri vai teksta dati, pārvērstu ASCII rakstzīmēs. Kodēšana novērš datu bojājumus, kad tie tiek pārsūtīti vai apstrādāti, izmantojot tikai teksta sistēmu. Šajā rakstā mēs apspriedīsim Base64 kodēšanu un dekodēšanu un tās izmantošanu bināro un teksta datu kodēšanai un atkodēšanai.
Base64 kodējums:
Tas ir baitu pārvēršanas veids par ASCII rakstzīmēm. pieejamo Base64 rakstzīmju saraksts ir minēts zemāk:
bash pārbaudiet, vai ir iestatīts vides mainīgais
- 26 lielie burti
- 26 mazie burti
- 10 cipari
- + un / jaunām rindām
Katra Base64 rakstzīme apzīmē 6 datu bitus. ir arī svarīgi atzīmēt, ka tas nav paredzēts šifrēšanai acīmredzamu iemeslu dēļ.
Lai pārvērstu virkni par Base64 rakstzīmi, jāveic šādas darbības:
- Iegūstiet katras virknes rakstzīmes ASCII vērtību.
- Aprēķiniet ASCII vērtību 8 bitu bināro ekvivalentu
- Pārveidojiet 8 bitu rakstzīmju daļu 6 bitu gabalos, pārgrupējot ciparus
- Konvertējiet 6 bitu binārās grupas to attiecīgajās decimālvērtībās.
- Izmantojiet Base64 kodēšanas tabulu, lai līdzinātu attiecīgās Base64 vērtības katrai decimālvērtībai.
Zemāk redzamajā attēlā ir sniegta Base64 kodēšanas tabula.

Attēla avots: Wikipedia
Python izmantošana virkņu kodēšanai:
Python programmā base64 modulis tiek izmantots datu kodēšanai un atšifrēšanai. Pirmkārt, virknes tiek pārveidotas par baitiem līdzīgiem objektiem un pēc tam tiek kodētas, izmantojot moduli base64. Tālāk esošajā piemērā ir parādīts, ka kodēšanas virkņu ieviešana nav bāzes 64 rakstzīmes.
Piemērs:
import> base64> > sample_string>=> 'GeeksForGeeks is the best'> sample_string_bytes>=> sample_string.encode(>'ascii'>)> > base64_bytes>=> base64.b64encode(sample_string_bytes)> base64_string>=> base64_bytes.decode(>'ascii'>)> > print>(f>'Encoded string: {base64_string}'>)> |
>
>
Izvade:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==>
Python izmantošana virkņu atšifrēšanai:
Base64 virknes dekodēšana ir tieši pretēja kodēšanai. Vispirms mēs pārveidojam Base64 virknes nekodētos datu baitos, kam seko pārveidošana par baitiem līdzīgu objektu virknē. Tālāk esošajā piemērā ir attēlota iepriekš minētā piemēra kodēšanas virknes izvades dekodēšana.
Piemērs:
import> base64> > > base64_string>=>' R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA =='> base64_bytes>=> base64_string.encode(>'ascii'>)> > sample_string_bytes>=> base64.b64decode(base64_bytes)> sample_string>=> sample_string_bytes.decode(>'ascii'>)> > print>(f>'Decoded string: {sample_string}'>)> |
nenoteikts slīpums
>
>
Izvade:
Decoded string: GeeksForGeeks is the best>