Bash kodowanie i dekodowanie base64

Aby zakodować lub zdekodować standardowe wejście / wyjście lub dowolną zawartość pliku, Linux używa systemu kodowania i dekodowania base64. Dane są kodowane i dekodowane, aby ułatwić proces transmisji i przechowywania danych. Kodowanie i dekodowanie nie są podobne do szyfrowania i deszyfrowania. Zakodowane dane można łatwo ujawnić poprzez dekodowanie. Dlatego tego narzędzia wiersza poleceń nie można używać do zabezpieczania danych. Alfabet, liczba i symbol „=” służą do kodowania dowolnych danych.

base64

Polecenie base64 umożliwia korzystanie z różnych typów opcji. Dane mogą być pobierane z dowolnego pliku lub standardowego wejścia podczas kodowania lub dekodowania. Po zakodowaniu lub zdekodowaniu możesz wysłać wynik do pliku lub wydrukować wynik w terminalu.

Opcje:

-e lub –encode

To Opcja służy do kodowania dowolnych danych ze standardowego wejścia lub z dowolnego pliku. Jest to opcja domyślna.

-d lub –decode

Ta opcja jest używana do dekodowania wszelkich zakodowanych danych ze standardowego wejścia lub z dowolnego pliku.

– n lub –noerrcheck

Domyślnie base64 sprawdza błędy podczas dekodowania jakichkolwiek danych. Możesz użyć opcji –n lub –noerrcheck, aby zignorować sprawdzanie podczas dekodowania.

-u lub –help

Ta opcja jest używana do uzyskania informacji o użyciu tego polecenia .

-i, –ignore-garbage

Ta opcja jest używana do ignorowania znaków nieliterowych podczas dekodowania.

–copyright

Jest używany do uzyskania informacji o prawach autorskich.

– wersja

Jest używany do uzyskania informacji o wersji.

Sposób użycia polecenia base64 w Linuksie jest pokazane w tym samouczku na kilku przykładach.

Przykład 1: Kodowanie danych tekstowych

Możesz zakodować dowolne dane tekstowe za pomocą base64 w linii poleceń. Jeśli chcesz zakodować dowolne dane przy użyciu base64, użycie opcji -e lub –encode jest opcjonalne. Tak więc, jeśli nie wspomnisz o żadnej opcji z base64, będzie działać przy kodowaniu. Następujące polecenie zakoduje dane „linuxhint.com” i wydrukuje zakodowane dane jako dane wyjściowe.

$ echo „linuxhint.com” | base64

Wyjście:

Przykład 2: Dekodowanie danych tekstowych

Następujące polecenie zdekoduje zakodowany tekst „bGludXhoaW50LmNvbQ ==” i wydrukuje oryginalny tekst jako wynik.

$ echo „bGludXhoaW50LmNvbQo = „| base64 –decode

Wyjście:

Przykład 3: Kodowanie pliku tekstowego

Utwórz plik tekstowy o nazwie „sample.txt” z następującym tekstem, który zostanie zakodowany przy użyciu base64.

Przykład .txt
PHP używa base64_encode i base64_decode do kodowania i dekodowania danych

Możesz wydrukować zakodowany tekst w linii poleceń lub zapisać zakodowany tekst w innym pliku. Następujące polecenie zakoduje zawartość pliku sample.txt i wydrukuje zakodowany tekst w terminalu.

$ base64 sample.txt

Wyjście:

Poniższe polecenia zakodują zawartość pliku sample.txt i zapiszą zakodowany tekst do pliku encodedData.txt.

$ base64 sample.txt > encodedData.txt
$ cat encodedData.txt

Wyjście:

Przykład 4: Dekodowanie pliku tekstowego

Następujące polecenie zdekoduje zawartość pliku encodedData.txt i wydrukuje wynik w terminalu

$ base64 -d encodedData.txt

Wyjście:

Następujące polecenia będą dekodować zawartość pliku encodedData.txt i zapisz zdekodowaną zawartość w pliku originalData.txt.

$ base64 –decode encodedData.txt > originalData.txt
$ cat originalData.txt

Wyjście:

Przykład 5: Kodowanie dowolnego tekstu zdefiniowanego przez użytkownika

Utwórz plik bash o nazwie encode_user_data.sh z następującą kod. Poniższy skrypt weźmie dowolne dane tekstowe jako dane wejściowe, zakoduje tekst przy użyciu base64 i wydrukuje zakodowany tekst jako wyjście.

#! / Bin / bash
echo „Wpisz tekst do zakodowania”
przeczytaj tekst
etext = `echo -n $ text | base64`
echo „Zakodowany tekst to: $ etext”

Uruchom skrypt.

$ base encode_user_data.sh

Wynik:

Przykład # 6: Sprawdzanie ważności użytkownika przez dekodowanie tekstu

Utwórz plik bash o nazwie checkValidity.sh i dodaj następujący kod. W tym przykładzie tajny tekst jest pobierany od użytkownika. Wstępnie zdefiniowany zakodowany tekst jest dekodowany przez base64 i porównywany z danymi wejściowymi użytkownika. Jeśli obie wartości są równe, wynik będzie brzmiał „Jesteś uwierzytelniony”, w przeciwnym razie wynikiem będzie „Nie jesteś uwierzytelniony”.Używając tego prostego kodu dekodującego, normalną walidację można przeprowadzić bardzo łatwo.

Uruchom skrypt.

$ bash checkValidity.sh

Wynik:

Wniosek:

Dla każdego wrażliwego dane takie jak hasło lub jakiekolwiek poufne dane, system kodowania i dekodowania nie są w ogóle odpowiednie. Aby zabezpieczyć tego typu dane, musisz użyć systemu szyfrowania i deszyfrowania.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *