Jeden docela obyčejný úkol, který musím udělat během můj den-to-day softwarové inženýrství je buď kódovat nebo dekódovat base64 řetězce; to přijde až když pracuji s věcmi, jako jsou soukromé klíče, nebo Kubernetes tajemství, které jsou base64. Chcete-li tak učinit, můžete si snadno zapamatovat jeden příkaz pro každý, který můžete spustit v terminálu.
nejprve bych byl nedbalý, kdybych nezmínil, že to nemusíte nutně dělat v rozhraní příkazového řádku. Existují dva sourozenecké weby, Base64 Decode a Base64 Encode, které tento úkol dosáhnou. Nejsem s nimi nijak spojen, ale jsem si docela jistý, že mnoho, mnoho vývojářů je s nimi obeznámeno.
existují však různé důvody, proč tyto stránky nemusíte používat; pro jednoho, možná jste offline a nemáte k nim přístup. Za druhé, možná plně nevěříte svým tajným údajům, které jdou na server někoho, koho neznáte. Oba jsou opravdu platné body,a proto navrhuji metody, které se chystám projít.
nejprve pro kódování v base64 spusťte v terminálu následující příkaz:
echo -n 'username' | base64
Pojďme k tomu přes různé komponenty.
-
echo
: Tento příkaz vypíše řetězec na standardní výstup, který je v méně technického hlediska znamená, že je to doslova tiskne, co píšete na obrazovce znovu. -
-n
: tento příznak označuje, že chcete výstup vytisknout na novém řádku. To je vlastně docela užitečné, protože jinak se kódovaný řetězec base64 vytiskne hned poté bez místa nebo cokoli jiného. Je to jen těžší, kopírovat a vložit, a můžete dokonce náhodně kopírovat některé počáteční příkaz řetězec, který by jistě způsobit bolesti hlavy. Doporučuji, abyste si zvykli zahrnout tuto vlajku, i když není nutné, aby příkaz skutečně fungoval. -
'username'
: zde vložíte řetězec, který chcete zakódovat base64; nemusí to být doslovausername
. -
|
: Toto je trubka, která říká příkazu, že chcete přesměrovat výstup levé části do pravé části, v podstatě. V tomto případě nechceme jen opakovat to, co jsme napsali; chceme to zakódovat! Na pravé straně tedy poskytneme pokyny pro kódování řetězce. -
base64
: jedná se o program, který je vcoreutils
(nebo GNU Core Utilities) balíček, který přijde pre-balené s počítači Mac nebo Linux OS. Další známé nástroje, které jsou také vcoreutils
includels
rm
cat
. V zásadě to udělá veškerou tvrdou práci při kódování řetězce, který jste zadali dříve.
výstup z výše uvedeného příkazu je následující:
dXNlcm5hbWU=
Dekódovat v base64
řekněme, že jste vlastně začal s base64 řetězec výše, dXNlcm5hbWU=
. Pokud jej chcete dekódovat, proces je ve skutečnosti stejně snadný jako ve výše uvedené části.
Jednoduše spusťte následující příkaz:
base64 --decode dXNlcm5hbWU=
To by mělo být docela snadné pochopit, --decode
vlajky dělá přesně to, co si myslíte, že to dělá! Výstup je:
username
Snadno zapamatovat, ale užitečné pro život
Pokud pracujete se softwarem, nemyslím si, že výše uvedené podpoložky je moc přehnané, já tyto příkazy používat celou dobu, a já jsem tak vděčný pro ně.