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.
Wyjście:
Przykład 2: Dekodowanie danych tekstowych
Następujące polecenie zdekoduje zakodowany tekst „bGludXhoaW50LmNvbQ ==” i wydrukuje oryginalny tekst jako wynik.
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.
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.
Wyjście:
Poniższe polecenia zakodują zawartość pliku sample.txt i zapiszą zakodowany tekst do pliku 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
Wyjście:
Następujące polecenia będą dekodować zawartość pliku encodedData.txt i zapisz zdekodowaną zawartość w pliku 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.
echo „Wpisz tekst do zakodowania”
przeczytaj tekst
etext = `echo -n $ text | base64`
echo „Zakodowany tekst to: $ etext”
Uruchom skrypt.
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.
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.