Niektóre zastosowania kodowania to:
Do kodowania danych Base64 używa tylko alfabetu, liczby i symbolu. Na przykład, C2FTCGXLCG == to prawidłowe zakodowane dane, podczas gdy B?HV3.ZH2J == nie jest prawidłowym zakodowanym danym.
W tym samouczku podpowiedzi Linuksa wyjaśnimy, jak używać polecenia Base64 do kodowania i dekodowania danych w ciągu lub pliku. Wykonaliśmy polecenia na Ubuntu 20.04 Focal Fossa System. Jednak możesz również uruchomić te same polecenia w innych rozkładach Linux.
Składnia Base64
Oto składnia do kodowania za pomocą Base64:
base64 [opcja] [plik]
Opcje
Niektóre z opcji wiersza poleceń, które można użyć z poleceniem Base64 to:
-d lub - -decode
Użyj tej opcji, aby zdekodować plik lub ciąg.
--pomoc
Użyj tej opcji, aby wyświetlić pomoc w zakresie wykorzystania Base64.
-I, --gnore-Garbage
Użyj tej opcji podczas dekodowania, aby zignorować znaki inne niż alfabet
--wersja
Użyj tej opcji, aby wyświetlić informacje o wersji
Kodowanie ciągów
Możesz łatwo zakodować ciąg za pomocą polecenia Base64. Na przykład, aby zakodować przykładowy tekst „Welcome to Linux” do Base64, poleceniem byłoby:
Echo „Welcome to Linux” | Base64
Wyjście zacisków:
Linuxhint@HP34: ~ $ Echo „Welcome to Linux” | Base64
V2VSY29TZSB0BYBMAW51EAO =
To polecenie zakoduje tekst w ciągu za pomocą Base64 i drukuje kodowany tekst na standardowe wyjście, jak pokazano na powyższym wyjściu terminalu.
Możesz także zapisać zakodowane dane wyjściowe na pliku, a nie drukować na standardowym wyjściu za pomocą operatora przekierowania (>). Poniższe polecenie zakoduje tekst i zapisze wyjście w pliku o nazwie „EncodedFile.tekst:
Echo „Welcome to Linux” | base64> kodedFile.tekst
Aby wyświetlić kodowany plik, możesz użyć polecenia CAT:
Kod kodowany plik.tekst
Wyjście zacisków:
Linuxhint@HP34: ~ $ CAT ENCODEDFILE.tekst
4OCCV2VSY29TZSB0BYBMAW51EOKANQO =
Ciąg dekodowania
Możesz także zdekodować tekst zakodowany Base64 za pomocą opcji -Decode lub -d. Na przykład, aby zdekodować tekst zakodowany Base64 „V2VSY29TZSB0BYBMAW51EAO =”, poleceniem byłoby:
Echo 4OCCV2VSY29TZSB0BYBMAW51EOKANQO = | Base64 - -Decode
To polecenie zdekoduje tekst zakodowany Base64 i wydrukuje oryginalny tekst na standardowym wyjściu.
Wyjście zacisków:
Linuxhint@HP34: ~ $ Echo 4OCCV2VSY29TZSB0BYBMAW51EOKANQO = | Base64 - -Decode
„Witamy w Linux”
Kodowanie pliku tekstowego
Do kodowania pliku tekstowego można również użyć polecenia Base64. W tym przykładzie pozwala najpierw utworzyć plik tekstowy z niektórymi treściami za pomocą tego polecenia na terminalu lub użyć dowolnego pliku tekstowego.
Echo „” „I Love Linux
Kocham Linuksa
Kocham Linuksa
Linuxhint to moja strona główna „„ ”> testowy.tekst
Aby zakodować ten lub dowolny plik tekstowy o nazwie „TestFile.txt ”, poleceniem byłoby:
Base64 TestFile.tekst
To polecenie zakoduje określony plik tekstowy i wydrukuje jego zakodowany formularz na standardowym wyjściu, jak pokazano na następnym wyjściu terminalu:
Linuxhint@HP34: ~ $ base64 TestFile.tekst
SSBMB3ZLIEXPBNV4CKGTG92ZSBMAW51EAPJIEXVDMUGTGUDXGKTGLUDXHIAW5IGLZIG15IGHV
bwvwywdlcg ==
Możesz także zapisać zakodowane dane wyjściowe na pliku, a nie drukować na standardowym wyjściu za pomocą operatora przekierowania (>). Poniższe polecenie przekonwertuje tekst w pliku za pomocą Base64 i zapisz wyjście na innym pliku o nazwie „EncodedFile.tekst". Polecenie nie drukuje niczego na ekranie.
Base64 TestFile.TXT> ENCODEDFILE.tekst
Aby wyświetlić kodowany plik, możesz użyć polecenia CAT:
Kod kodowany plik.tekst
Wyjście zacisków:
Linuxhint@HP34: ~ $ base64 TestFile.TXT> ENCODEDFILE.tekst
Linuxhint@HP34: ~ $ CAT ENCODEDFILE.tekst
SSBMB3ZLIEXPBNV4CKGTG92ZSBMAW51EAPJIEXVDMUGTGUDXGKTGLUDXHIAW5IGLZIG15IGHV
bwvwywdlcg ==
Dekodowanie pliku tekstowego
Aby zdekodować zakodowany plik tekstowy, użyj opcji -Decode lub -d. Na przykład, aby zdekodować plik tekstowy zakodowany Base64 „EncodedFile.txt ”, poleceniem byłoby:
base64 -d kodedfile.tekst
To polecenie zdekoduje kodowany plik tekstowy Base64 i wydrukuje oryginalny tekst na standardowym wyjściu, jak pokazano na następnym wyjściu terminalu:
Wyjście zacisków:
Linuxhint@hp34: ~ $ base64 -d enkodedfile.tekst
Kocham Linuksa
Kocham Linuksa
Kocham Linuksa
Linuxhint to moja strona główna
Linuxhint@HP34: ~ $
Kodowanie wejścia użytkownika
Korzystając z kodowania Base64, możemy kodować dowolne dane dostarczane przez użytkownika. W tym celu będziemy musieli utworzyć skrypt, który przyjmie wprowadzenie użytkownika, zakodować go za pomocą kodowania Base64 i wydrukować zakodowane dane na temat standardowego wyjścia. Utwórz skrypt „Testuj.sh ”z następującym kodem:
#!/bin/bash
# Wydrukuj wiadomość, aby poprosić o dane wejściowe
Echo „Zapewnij pewne dane do zakodowania”
# Zapisz wejście do zmiennej o nazwie „Dane”
odczyt dane
# Zakoduj za pomocą kodowania Base64 i zapisz wyjście do zmiennej „enkod_data”
enkod_data = 'echo -n $ dane | Base64 '
# Wydrukuj zakodowane wyjście
Echo „Zakodowany tekst to: $ en enkod_data”
Uruchom skrypt w następujący sposób:
Test CHMOD 755.cii; ./test.cii
Po uruchomieniu skryptu zostaniesz poproszony o wprowadzenie danych, które chcesz zakodować. Wpisz niektóre dane i naciśnij ENTER, a otrzymasz zakodowane dane wyjściowe na ekranie, jak pokazano poniżej:
Wyjście zacisków:
Linuxhint@HP34: ~ $ CHMOD 755 Test.cii; ./test.cii
Podaj kilka danych do zakodowania
Kocham Linuksa
Kodowany tekst to: SSBSB3ZLIGXPBNV4
Ten zakodowany tekst może być wysyłany przez Internet lub do innego programu, a następnie dekodować później za pomocą prostego polecenia. Dla tego polecenia zakładamy program odbierający, dekoduj.sh, umieścił zakodowane dane w zmienną w bash wywołanych Otrzymane_encoding.
#!/bin/bash
Otrzymane_encoding = ssbsb3zligxpbnv4
Otrzymane_string = 'echo $ otrzymane_encoding | base64 - -decode '
Echo $ otrzymane_string
Tutaj możesz zobaczyć wyniki programu odbierającego w wyjściu terminalu:
Linuxhint@HP34: ~ $ CHMOD 755 Decode.cii ; ./rozszyfrować.cii
Kocham Linuksa
Wniosek
W ten sposób możesz użyć Base64 do kodowania i dekodowania ciągu lub pliku z wiersza poleceń. Wyniki można wydrukować na standardowym wyjściu, zapisane w zmiennej lub pliku, lub przekazać sieć do innego programu. Pamiętaj jednak, że kodowanie nie jest podobne do szyfrowania i można łatwo ujawnić zakodowane dane, więc nie zaleca się używania kodowania do transmisji wrażliwych danych.