Overiew

W tym poradniku, nauczysz się jak kodować i dekodować base64 z linii poleceń w systemie Linux. Dowiesz się także czym jest kodowanie base64 i dlaczego nigdy nie powinno być używane do ochrony danych przed nieautoryzowanym dostępem.

Kodowanie i dekodowanie danych base64 ma wiele zastosowań. Jednym z nich jest zapewnienie integralności danych podczas przesyłania danych przez sieć, podczas gdy innym jest przechowywanie Secrets w Kubernetes.

Po przeczytaniu tego poradnika zrozumiesz, jak łatwo kodować pliki lub ciągi znaków, a następnie dekodować je z powrotem.

Jak kodować base64 na Ubuntu, Debianie, OSX, i Red Hat

Jeśli używasz popularnych dystrybucji linuxa, takich jak Ubuntu, Debian, CentOS, lub Red Hat, narzędzie wiersza poleceń base64 jest zazwyczaj preinstalowane. Nie powinieneś być zmuszony do wykonywania żadnych dodatkowych kroków.

OSX również posiada własną wersję base64.

Dlaczego Base64 koduje dane

Przesłanie pliku ASCII przez sieć może spowodować uszkodzenie, jeśli nie zostanie poprawnie zdekodowany. Powodem tego jest fakt, że pliki ASCII są konwertowane na bajty, a kiedy te bajty są dekodowane niepoprawnie z powrotem do ASCII, twoje dane stają się uszkodzone.

Base64 został wprowadzony jako sposób na konwersję danych ASCII na dowolne bajty, gdzie mogą być przesyłane jako bajty i dekodowane poprawnie z powrotem do ASCII.

W skrócie, kodowanie base64 zapewnia integralność naszych danych podczas przesyłania przez sieć.

Base64 to nie szyfrowanie

Kodowanie plików nie jest szyfrowaniem i nigdy nie powinno być używane do zabezpieczania wrażliwych danych na dysku. Jest to raczej użyteczny sposób przesyłania lub przechowywania dużych danych w formie łańcucha znaków.

Pomimo, że może to ukryć rzeczywiste dane przed osobami, które powinny je przeglądać, każdy kto ma dostęp do zakodowanych danych base64 może je łatwo zdekodować.

Kodowanie łańcucha znaków base64

Aby zakodować łańcuch znaków base64 możesz wysłać polecenie echo do narzędzia wiersza poleceń base64. Aby zapewnić, że nie zostaną dodane żadne dodatkowe, ukryte znaki, użyj flagi -n.

Bez flagi -n możesz przechwycić ukryte znaki, jak zwroty linii lub spacje, które uszkodzą twoje kodowanie base64.

echo -n 'my-string' | base64

Wyświetli to co następuje

bXktc3RyaW5n

Kodowanie pliku base64

Aby zakodować plik base64

base64 /path/to/file

Wyświetli to bardzo długi, zakodowany base64 łańcuch. Możesz chcieć napisać stdout do pliku zamiast tego.

bas64 /path/to/file > output.txt

Dekodowanie łańcuchów

Aby dekodować z base64 musisz użyć flagi --decode. Mając zakodowany ciąg znaków, możesz wysłać polecenie echo do base64, tak jak to zrobiłeś, aby go zakodować.

Używając przykładowego kodowania pokazanego powyżej, zdekodujmy go z powrotem do jego oryginalnej postaci.

echo -n 'bXktc3RyaW5n' | base64 --decode

Pod warunkiem, że twoje kodowanie nie zostało uszkodzone, wyjście powinno być oryginalnym łańcuchem.

Dekodowanie plików

Aby zdekodować plik z zawartością, która jest zakodowana base64, po prostu podajesz ścieżkę pliku z flagą --decode.

base64 --decode /path/to/file

Tak jak w przypadku kodowania plików, wyjście będzie bardzo długim łańcuchem oryginalnego pliku. Możesz chcieć wypisać stdout bezpośrednio do pliku.

base64 --decode /path/to/file > output.txt

Zakończenie

W tym tutorialu, nauczyłeś się jak kodować base64 pliki i łańcuchy. To coś, co jest powszechnie stosowane do przesyłania plików w taki sposób, że pozostaje

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.