Išmokite „Bash base64“ koduoti ir iššifruoti naudodami pavyzdžius


Norite sužinoti apie base64 kodavimo ir iššifravimo metodą? Šiame vadove mes paaiškiname „base64“ kodavimo ir iššifravimo veiksmus naudodami bash apvalkalo scenarijus su įvairiais pavyzdžiais.

„Base64“ kodavimo metodas perduoda duomenis bet kokia ryšio laikmena, konvertuodamas dvejetainius duomenis į tekstą. Šis metodas pirmiausia naudojamas el. pašto šifravimo procesui.

„Base64“ metodas apskritai yra dvejetainio teksto kodavimo schema, vaizduojanti 8 baitų dvejetainius duomenis ASCII eilutės formatu. Tai turi keletą pranašumų perduodant arba nukreipiant duomenis tarp įvairių laikmenų, ypač tų, kurios patikimai palaiko tekstinį turinį. Todėl jis plačiai naudojamas pasauliniame tinkle. Turbūt dažniausiai naudojamas šios kodavimo schemos atvejis yra jos naudojimas el. laiškų priedams.

Remiantis „Base64“ vaizdavimo lentele, dvejetainius duomenis galima konvertuoti į 64 skirtingus ASCII simbolius, kuriuos lengva perduoti ir spausdinti. Šis kodavimo metodas naudoja raides nuo A iki Z, nuo a iki Z, nuo 0 iki 9 ir + bei /.

Iš viso 64 ASCII simboliai, kurie reiškia dvejetainį skaičių nuo 000000 iki 111111. Kiekvienas ne galutinis Base64 skaitmuo reiškia tiksliai 6 bitus duomenų.

„Base64“ rodyklės lentelė

Bash base64 koduoja ir dekoduoja

Sintaksė

Prieš sužinodami apie pavyzdžius, pateikiame pagrindinę sintaksę.

base64 [OPTIONs] [INFILE] [OUTFILE]

Parinktis: galite pateikti bet kurią iš parinkčių arba jas derinti, kaip paaiškinta toliau.
INFILE: įvestis gali būti paimta iš standartinės įvesties (pvz., komandų eilutės) arba failų.
OUTFILE: galite peradresuoti išvestį į standartinę išvestį, pvz., terminalą arba failą.

Arguments

Aprašymai

-e or –encode

Ši parinktis naudojama koduoti bet kokius duomenis iš standartinės įvesties arba bet kokio failo. Tai numatytoji parinktis.

-d or –decode

Ši parinktis naudojama bet kokiems užkoduotiems duomenims iš standartinės įvesties arba bet kokio failo iššifruoti.

-n or –noerrcheck

Pagal numatytuosius nustatymus „base64“ patikrina klaidą dekoduodamas bet kokius duomenis. Galite naudoti –n arba –noerrcheck parinktį, kad nepaisytumėte tikrinimo dekodavimo metu.

-i, –ignore-garbage

Ši parinktis naudojama norint nepaisyti ne abėcėlės simbolių dekoduojant.

-u or –help

Ši parinktis naudojama norint gauti informaciją apie šios komandos naudojimą.

1 pavyzdys – pagrindinis kodavimas

„Linux“ sistemoje „base64“ paketas yra įdiegtas pagal numatytuosius nustatymus. Taigi galite lengvai jį naudoti iš komandinės eilutės. Norėdami tiesiog užkoduoti eilutę ar tekstą, galite perduoti ją per komandinę eilutę per vamzdyną ir gauti užkoduotą tekstą. Šiame pavyzdyje eilutė debugpoint.com yra užkoduota į base64.

echo "debugpoint.com" | base64

bash base64 kodavimas ir iššifravimas – 1 pavyzdys

Rezultatas yra base64 užkoduota eilutė.

Paaiškinimas

Kodavimo metodas naudoja kelis veiksmus įvesties konvertavimui. Įvesties simboliai konvertuojami į 8 bitų dvejetaines reikšmes. Visas dvejetainės eilutės rinkinys yra padalintas į 6 bitų dvejetaines reikšmes, kurios konvertuojamos į dešimtainę dalį.

Kiekviena dešimtainė reikšmė yra išversta į base64 simbolį naudojant base64 indekso lentelę.

Aukščiau pateiktame pavyzdyje pirmasis simbolis „d“ konvertuojamas į dvejetainį 01100100. Pirmieji 6 bitai yra 011001, kuris yra 25 dešimtainis. 25 reiškia Z „base64“ indekso lentelėje. Ir tai galioja visam teksto srautui. Žiūrėkite toliau pateiktą pavyzdį.

Base64 kodavimas ir iššifravimas – vidinis darbas

2 pavyzdys – pagrindinis dekodavimas

Norėdami iššifruoti eilutę, tiesiog perduokite užkoduotą reikšmę bazei64 su parinktimi --decode. Ir tai pateiks tikslią įvesties eilutę.

bash base64 kodavimas ir iššifravimas – 2 pavyzdys (dekoduoti tą patį pavyzdį)

3 pavyzdys – užkoduokite tekstinį failą

Ta pati komanda gali būti naudojama koduojant tekstinį failą ir nukreipiant išvestį į kitą tekstinį failą. Štai kaip.

base64 example3.txt > example3-encoded.txt

Užkoduoti tekstinį failą

4 pavyzdys – teksto failo iššifravimas

O norėdami iššifruoti tekstinį failą, kuris buvo užkoduotas naudojant base64, tiesiog naudokite jungiklį --decode arba -d ir perduokite tekstinio failo pavadinimą.

base64 -d example3-encoded.txt

5 pavyzdys – užkoduokite tinkintą vartotojo įvestį

Naudodami bash shell programavimą, galite priimti įvestį iš vartotojo per terminalą ir užkoduoti. Tačiau tam reikia parašyti paprastą apvalkalo scenarijų ir jį vykdyti, davus vykdomąjį leidimą.

Štai paprastas pavyzdys, kuris paima vartotojo įvestį ir rodo užkoduotą eilutę.

#!/bin/bash
#Sample program to take input, encode to base64 and display on terminal
#Example by www.debugpoint.com
echo "Enter text for encoding to base64:"
read input_text
output_text=`echo -n $input_text | base64`
echo "The Base64 Encoded text is: $output_text"

Pasirinktinis įvestis – base64 kodavimas ir iššifravimas naudojant scenarijų

6 pavyzdys – paprastas autentifikavimas naudojant base64

Galite įdiegti paprastą autentifikavimo sistemą naudodami aukščiau pateiktą kodavimo ir iššifravimo metodą. Galite paprašyti vartotojo įvesti slaptažodį arba slaptą kodą. Tada išsaugokite slaptą kodą faile arba palyginkite jį skrydžio metu.

Jei saugoma užkoduota eilutė sutampa su vartotojo įvestu koduotu tekstu, vartotojas autentifikuojamas. Tačiau tai yra paprastas būdas patikrinti autentifikavimą, tačiau kartais naudingas paprastiems verslo atvejams.

#!/bin/bash
#Sample program to take input, encode to base64 and display on terminal
#Example by www.debugpoint.com
echo "Type your password"
read pwd1
decoded_text=`echo 'U2lsZW5jZSBpcyBnb2xkZW4h' | base64 --decode`
if [[ $pwd1 == $decoded_text ]]
then
    echo "You are a valid user."
else
    echo "You are NOT a valid user."
fi

Paprastas autentifikavimas naudojant bash base64

Išvada

Tikiuosi, kad išmoksite Base64 kodavimo ir dekodavimo pagrindus naudodami šiuos pavyzdžius. Taip pat šiek tiek sužinokite apie jo vidinį veikimą. Praneškite man toliau esančiame komentarų laukelyje, jei tai jums padeda arba reikia papildomų pamokų šia tema.