Naučte sa kódovať a dekódovať Bash base64 s príkladmi
Chcete sa dozvedieť o metóde kódovania a dekódovania base64? Tu v tomto návode vysvetľujeme kroky kódovania a dekódovania base64 pomocou skriptovania bash shell s rôznymi príkladmi.
Metóda kódovania base64 prenáša dáta cez akékoľvek komunikačné médium konverziou binárnych dát na text. Táto metóda sa primárne používa na proces šifrovania e-mailov.
Metóda Base64 je vo všeobecnosti schéma binárneho kódovania na text predstavujúca 8-bajtové binárne dáta vo formáte reťazca ASCII. To má niekoľko výhod pri prenose alebo usmerňovaní údajov medzi rôznymi médiami - najmä tými, ktoré spoľahlivo podporujú textový obsah. Preto je široko používaný na World Wide Web. Pravdepodobne najpoužívanejším prípadom tejto schémy kódovania je jej použitie pre prílohy e-mailov.
Podľa tabuľky reprezentácie Base64 možno binárne dáta previesť na 64 rôznych znakov ASCII - ktoré sa dajú ľahko prenášať a tlačiť. Táto metóda kódovania používa písmená A až Z, a až Z, 0 až 9 a + a /.
Celkom 64 znakov ASCII, ktoré predstavujú binárne znaky od 000000 do 111111. Každá nekonečná číslica Base64 predstavuje presne 6 bitov údajov.
Tabuľka indexov Base64
Bash base64 kóduje a dekóduje
Syntax
Predtým, ako sa dozviete o príkladoch, tu je základná syntax.
base64 [OPTIONs] [INFILE] [OUTFILE]Možnosť: Môžete poskytnúť ktorúkoľvek z možností alebo ich skombinovať, ako je vysvetlené nižšie.
INFILE: Vstup je možné získať zo štandardného vstupu (napríklad príkazového riadka) alebo súborov.
OUTFILE: Výstup môžete presmerovať na štandardný výstup, napríklad terminál alebo súbor.
- Arguments
Popisy
- -e or –encode
Táto možnosť sa používa na kódovanie akýchkoľvek údajov zo štandardného vstupu alebo akéhokoľvek súboru. Je to predvolená možnosť.
- -d or –decode
Táto možnosť sa používa na dekódovanie akýchkoľvek zakódovaných údajov zo štandardného vstupu alebo akéhokoľvek súboru.
- -n or –noerrcheck
V predvolenom nastavení base64 kontroluje chyby pri dekódovaní akýchkoľvek údajov. Môžete použiť voľbu -n alebo -noerrcheck na ignorovanie kontroly v čase dekódovania.
- -i, –ignore-garbage
Táto možnosť sa používa na ignorovanie neabecedných znakov pri dekódovaní.
- -u or –help
-
Táto možnosť sa používa na získanie informácií o použití tohto príkazu.
Príklad 1 - základné kódovanie
V systéme Linux je štandardne nainštalovaný balík base64. Preto ho môžete ľahko použiť z príkazového riadku. Ak chcete jednoducho zakódovať reťazec alebo text, môžete ho prejsť cez príkazový riadok pomocou potrubia a získať zakódovaný text. V tomto príklade je reťazec debugpoint.com zakódovaný na base64.
echo "debugpoint.com" | base64kódovanie a dekódovanie bash base64 - príklad 1
Výsledkom je kódovaný reťazec base64.
Vysvetlenie
Metóda kódovania používa niekoľko krokov na konverziu vstupu. Vstupné znaky sa skonvertujú na 8-bitové binárne hodnoty. Celá množina binárneho reťazca je rozdelená na 6-bitové binárne hodnoty, ktoré sú prevedené na desatinné miesta.
Každá desatinná hodnota sa prevedie na znak base64 prostredníctvom indexovej tabuľky base64.
Vo vyššie uvedenom príklade sa prvý znak „d“ skonvertuje na binárne 01100100. Prvých 6 bitov je 011001, čo je 25 v desiatkovej sústave. Číslo 25 sa vzťahuje na Z v indexovej tabuľke base64. A to platí pre celý prúd textu. Pozrite si príklad nižšie.
Base64 Encode and Decode - vnútorné fungovanie
Príklad 2 - Základné dekódovanie
Ak chcete dekódovať reťazec, jednoducho odovzdajte zakódovanú hodnotu do base64 s voľbou --decode. A dá vám presný vstupný reťazec.
kódovanie a dekódovanie bash base64 - príklad 2 (dekódujte rovnaký príklad)
Príklad 3 - Kódovanie textového súboru
Rovnaký príkaz možno použiť na kódovanie textového súboru a presmerovanie výstupu do iného textového súboru. Tu je postup.
base64 example3.txt > example3-encoded.txtZakódujte textový súbor
Príklad 4 - Dekódovanie textového súboru
A na dekódovanie textového súboru, ktorý bol zakódovaný pomocou base64, jednoducho použite prepínač --decode alebo -d a odovzdajte názov textového súboru.
base64 -d example3-encoded.txtPríklad 5 - Kódovanie vlastného vstupu od používateľa
Pomocou programovania bash shell môžete prevziať vstup od používateľa cez terminál a zakódovať ho. Ale na to musíte napísať jednoduchý shell skript a spustiť ho po udelení spustiteľného povolenia.
Tu je jednoduchý príklad, ktorý preberá vstup od používateľa a zobrazuje zakódovaný reťazec.
#!/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"Vlastný vstup - base64 kóduje a dekóduje pomocou skriptu
Príklad 6 - Jednoduchá autentifikácia pomocou base64
Pomocou vyššie uvedenej metódy kódovania a dekódovania môžete implementovať jednoduchý autentifikačný systém. Používateľa môžete požiadať o zadanie hesla alebo tajného kódu. Potom uložte tajný kód do súboru alebo ho porovnajte za chodu.
Ak sa uložený zakódovaný reťazec zhoduje so zakódovaným textom zadaným používateľom, používateľ je overený. Je to však jednoduchý spôsob kontroly overenia, ale niekedy užitočný pre jednoduché obchodné prípady.
#!/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."
fiJednoduchá autentifikácia pomocou bash base64
Záver
Dúfam, že sa pomocou týchto príkladov naučíte základy kódovania a dekódovania Base64. Naučte sa tiež niečo o jeho vnútornom fungovaní. Dajte mi vedieť v poli komentárov nižšie, ak vám to pomôže alebo ak potrebujete ďalšie návody na túto tému.







