Bash Basetop 10 koduj i dekoduj

Bash Basetop 10 koduj i dekoduj
Aby zakodować lub dekodować 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ć transmisję danych i przechowywanie. Kodowanie i dekodowanie nie są podobne do szyfrowania i odszyfrowania. Zakodowane dane można łatwo ujawnić przez dekodowanie. Tak więc to narzędzie narzędzia wiersza poleceń nie może być używane do bezpieczeństwa danych. Alphabet, liczba i „= 'symbol są używane do kodowania dowolnych danych.

Składnia:

base64 [opcja] [infile] [Outfile]

Możesz użyć różnych rodzajów opcji z poleceniem Base64. Dane można pobrać z dowolnego pliku lub standardowego wejścia podczas kodowania lub dekodowania. Po zakodowaniu lub dekodowaniu możesz wysłać dane wyjściowe w pliku lub wydrukować wyjście w terminalu.

Opcje:

-e lub -enecode

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

-d lub -decode
Ta opcja służy do dekodowania dowolnych zakodowanych danych ze standardowego wejścia lub z dowolnego pliku.

-n lub -noercheck
Domyślnie Base64 sprawdza błąd podczas dekodowania dowolnych danych. Możesz użyć opcji -n lub -NoERRCHECK, aby zignorować sprawdzanie w momencie dekodowania.

-u lub -help
Ta opcja służy do uzyskania informacji o użyciu tego polecenia.

-I, -ignore -Garbage
Ta opcja służy do ignorowania postaci bez alfabetu podczas dekodowania.

-Prawo autorskie
Służy do uzyskania informacji o prawach autorskich.

-wersja
Służy do uzyskania informacji o wersji.

Jak korzystasz z polecenia Base64 w Linux, jest pokazany w tym samouczku za pomocą niektórych przykładów.

Przykład nr 1: kodowanie danych tekstowych

Możesz kodować dowolne dane tekstowe za pomocą Base64 w wierszu poleceń. Gdy chcesz zakodować dowolne dane za pomocą Base64, użycie opcji -e lub -enecode jest opcjonalne. Tak więc, jeśli nie wspomnisz żadnej opcji z Base64, będzie to działać na kodowanie. Poniższe polecenie koduje dane ”Linuxhint.com ' i wydrukuj zakodowane dane jako wyjście.

Echo 'Linuxhint.com '| Base64

Wyjście:

Przykład nr 2: Dekodowanie danych tekstowych

Poniższe polecenie zdekoduje zakodowany tekst, „BGLUDXHOAW50LMNVBQ ==„Wydrukuj oryginalny tekst jako wyjście.

echo 'bgludxhoaw50lmnvbqo =' | Base64 - -Decode

Wyjście:

Przykład nr 3: kodowanie pliku tekstowego

Utwórz plik tekstowy o nazwie ”próbka.tekst„Z następującym tekstem, który zostanie zakodowany za pomocą Base64.

PHP używa base64_encode i base64_decode do kodowania danych i dekodowania danych

Możesz wydrukować zakodowany tekst w wierszu poleceń lub przechowywać kodowany tekst w innym pliku. Poniższe polecenie zakoduje zawartość Sobszerny.tekst złożyć i wydrukuj kodowany tekst w terminalu.

Próbka Base64.tekst

Wyjście:

Poniższe polecenia kodują treść Sobszerny.tekst plik i zapisz zakodowany tekst w enkodedData.tekst plik.

Próbka Base64 $.TXT> ENCODEDDATA.tekst
$ CAT ENCODEDDATA.tekst

Wyjście:

Przykład nr 4: dekodowanie pliku tekstowego

Poniższe polecenie zdekodź zawartość enkodedData.tekst Plik i wydrukuj wyjście w terminalu

base64 -d kodeddata.tekst

Wyjście:

Poniższe polecenia zdekodź zawartość enkodedData.tekst Złóż i przechowuj dekodowaną zawartość w pliku, Oryginalne.tekst.

$ base64 -Decode encodedData.TXT> ORIGINDATA.tekst
$ CAT ORIGINDATA.tekst

Wyjście:

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

Utwórz plik bash o nazwie encode_user_data.cii z następującym kodem. Poniższy skrypt przyjmie dowolne dane tekstowe jako wejście, zakoduj tekst za pomocą Base64 i drukuj kodowany tekst jako wyjście.

#!/bin/bash
echo „Wprowadź tekst, aby zakodować”
Przeczytaj tekst
etext = 'echo -n $ tekst | Base64 '
Echo „Zakodowany tekst to: $ etext”

Uruchom skrypt.

Bash encode_user_data.cii

Wyjście:

Sprawdź poprawność tekstu jest poprawnie kodowane, przesuwając kodowany tekst zwrócony z wykonania skryptu do base64 -DeCode, aby potwierdzić, że oryginalny tekst jest zwracany. Poniżej możesz zobaczyć, jak potwierdzić zakładanie Mój tajny tekstbył zakodowany ciąg.

echo txkgc2vjcmv0ihrlehq = | Base64 - -Decode

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

Utwórz plik bash o nazwie CheckValididge.cii i dodaj następujący kod. W tym przykładzie tajny tekst jest pobierany od użytkownika. Zdefiniowany kodowany tekst jest dekodowany przez Base64 i porównuje się z wejściem użytkownika. Jeśli obie wartości są równe, wyjście będzie 'Jesteś uwierzytelniony„W przeciwnym razie wyjście będzie”Nie jesteś uwierzytelniony'. Korzystając z tego prostego kodu dekodowania, normalne walidacja można wykonać bardzo łatwo. W tym przykładzie tajny tekst, który spowoduje sukces 777799. Prawdopodobnie nie byłoby to kodowane w skrypcie, ale bardziej dynamiczne w aplikacji w świecie rzeczywistym.

#!/bin/bash
echo „Wpisz swój tajny kod”
Przeczytaj sekret
otext = „echo” nzc3nzk5cg == '| base64 - -decode '
jeśli [$ secret == $ OTEXT]; Następnie
echo „Jesteś uwierzytelniony”
w przeciwnym razie
echo „Nie jesteś uwierzytelniony”
fi

Uruchom skrypt.

Bash CheckVavity.cii

Wyjście:

Wniosek:

W przypadku wszelkich poufnych danych, takich jak hasło lub jakiekolwiek poufne dane, system kodowania i dekodowania wcale nie jest odpowiedni. Musisz użyć systemu szyfrowania i deszyfrowania do zabezpieczenia tego typu danych.

Bibliografia:

  • [RFC] kodowania danych Base16, Base32 i Base64
  • Base64 Manpage