Maybaygiare.org

Blog Network

Jak kodować i dekodować wiersza Base64 w systemie Mac OS lub Linux

Tremayne To

Postępuj zgodnie z

9 września 2020 r. · 3 min. czytaj

Zdjęcia James Orr na Unsplash

jednym dość powszechnym zadaniem, które muszę wykonać podczas mojej codziennej inżynierii oprogramowania, jest kodowanie lub dekodowanie ciągów base64; pojawia się, gdy pracuję z kluczami prywatnymi lub tajemnicami Kubernetes, które są zakodowane w base64. Aby to zrobić, możesz łatwo zapamiętać jedno polecenie dla każdego, które możesz uruchomić w terminalu.

Po pierwsze, byłbym niedbały, gdybym nie wspomniał, że niekoniecznie musisz to robić w interfejsie wiersza poleceń. Istnieją dwie strony internetowe rodzeństwa, Base64 Decode i Base64 Encode, które osiągają to zadanie. Nie jestem z nimi związany w żaden sposób, ale jestem pewien, że wielu, wielu programistów zna je.

jednak istnieje wiele powodów, dla których nie możesz korzystać z tych stron; po pierwsze, być może jesteś offline i nie możesz uzyskać do nich dostępu. Po drugie, być może nie ufasz w pełni swoim tajnym danym, które trafiają na serwer kogoś, kogo nie znasz. Oba są naprawdę ważne punkty, i dlatego proponuję metody mam zamiar przejść.

najpierw, aby zakodować w base64, uruchom następujące polecenie w swoim terminalu:

echo -n 'username' | base64

przejdźmy do różnych komponentów.

  • echo: to polecenie zapisuje ciąg znaków na standardowe wyjście, co w mniej technicznych terminach oznacza, że dosłownie wypisuje na ekranie to, co piszesz.
  • -n: ta flaga wskazuje, że wyjście ma być wydrukowane w nowej linii. Jest to w rzeczywistości całkiem przydatne, ponieważ w przeciwnym razie kodowany ciąg base64 wydrukuje się zaraz po tym, bez spacji lub czegokolwiek. Po prostu trudniej jest skopiować i wkleić, a możesz nawet przypadkowo skopiować część początkowego polecenia z ciągiem znaków, co z pewnością spowodowałoby bóle głowy w dół linii. Polecam Ci w zwyczaju włączenie tej flagi, mimo że nie jest to konieczne, aby polecenie faktycznie działało.
  • 'username': tutaj umieszczasz ciąg znaków, który chcesz zakodować base64; nie musi to być dosłownieusername.
  • | : To jest rura, która mówi poleceniu, że chcesz przekierować wyjście lewej części na prawą część, zasadniczo. W tym przypadku nie chcemy po prostu powtórzyć tego, co napisaliśmy; chcemy to zakodować! Tak więc, po prawej stronie podamy instrukcje do zakodowania ciągu znaków.
  • base64: jest to program, który znajduje się w pakieciecoreutils (lub GNU Core Utilities), który jest fabrycznie zapakowany z systemem operacyjnym Mac lub Linux. Inne znane Ci narzędzia, które są również w coreutils to lsrm I cat. Zasadniczo, zrobi to całą ciężką pracę kodowania ciągu, który podałeś wcześniej.

wyjście powyższego polecenia jest następujące:

dXNlcm5hbWU=

dekoduj w base64

Załóżmy, że faktycznie zacząłeś z zakodowanym powyżej ciągiem base64,dXNlcm5hbWU=. Jeśli chcesz go dekodować, Proces jest tak prosty, jak w powyższej sekcji.

Po prostu uruchom następujące polecenie:

base64 --decode dXNlcm5hbWU=

to powinno być dość łatwe do zrozumienia; flaga--decode robi dokładnie to, co myślisz, że robi! Wyjście to:

username

łatwe do zapamiętywania, ale przydatne na całe życie

Jeśli pracujesz z oprogramowaniem, nie sądzę, aby powyższa podpozycja była zbytnią przesadą; używam tych poleceń cały czas i jestem za nie bardzo wdzięczny.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.