Přehled
V tomto kurzu se dozvíte, jak kódovat a dekódovat base64 z příkazového řádku v systému Linux. Dozvíte se také, co je to kódování base64 a proč by se nikdy nemělo používat k ochraně dat před neoprávněným přístupem.
Kódování a dekódování dat base64 má mnoho případů použití. Jedním z nich je zajištění integrity dat při přenosu dat po síti, dalším je ukládání Secrets v Kubernetes.
Po přečtení tohoto kurzu pochopíte, jak snadno kódovat soubory nebo řetězce a následně je zpětně dekódovat.
Jak kódovat base64 v Ubuntu, Debianu, OSX a Red Hatu
Pokud používáte populární linuxové distribuce, jako je Ubuntu, Debian, CentOS nebo Red Hat, je obvykle předinstalován nástroj příkazového řádku base64. Neměli byste muset provádět žádné další kroky.
OSX je také dodáván s vlastní verzí base64.
Proč kódovat data Base64
Přenos souboru ASCII po síti může způsobit poškození, pokud není správně dekódován. Důvodem je, že soubory ASCII jsou převedeny na řetězce bajtů, a když jsou tyto bajty nesprávně dekódovány zpět na ASCII, vaše data se poškodí.
Base64 byl zaveden jako způsob, jak převést data ASCII na libovolné bajty, které pak mohou být přeneseny jako bajty a správně dekódovány zpět na ASCII.
Krátce řečeno, kódování base64 zajišťuje integritu našich dat při přenosu po síti.
Base64 není šifrování
Kódování souborů není šifrování a nikdy by se nemělo používat k zabezpečení citlivých dat na disku. Je to spíše užitečný způsob přenosu nebo ukládání velkých dat ve formě řetězce.
Ačkoli může tato skutečná data před surfaři zakrýt, kdokoli, kdo má přístup k datům zakódovaným pomocí base64, je může snadno dekódovat.
Kódování řetězce base64
K zakódování řetězce base64 můžete do nástroje příkazového řádku base64 vložit příkaz echo. Chcete-li zajistit, aby nebyly přidány žádné další, skryté znaky, použijte příznak -n
.
Bez příznaku -n
můžete zachytit skryté znaky, jako jsou návraty řádků nebo mezery, které poškodí vaše kódování base64.
echo -n 'my-string' | base64
Který vypíše následující
bXktc3RyaW5n
Kódování souboru v base64
Kódování souboru v base64
base64 /path/to/file
Tento příznak vypíše velmi dlouhý řetězec v kódování base64. Možná budete chtít místo toho zapsat stdout do souboru.
bas64 /path/to/file > output.txt
Dekódování řetězců
Pro dekódování pomocí base64 musíte použít příznak --decode
. S kódovaným řetězcem můžete do base64 odeslat příkaz echo, stejně jako jste to udělali při kódování.
Použijeme-li výše uvedený příklad kódování, dekódujeme jej zpět do původní podoby.
echo -n 'bXktc3RyaW5n' | base64 --decode
Pokud vaše kódování nebylo poškozeno, výstupem by měl být váš původní řetězec.
Dekódování souborů
Chcete-li dekódovat soubor s obsahem kódovaným base64, stačí zadat cestu k souboru s příznakem --decode
.
base64 --decode /path/to/file
Stejně jako při kódování souborů bude výstupem velmi dlouhý řetězec původního souboru. Možná budete chtít výstup stdout přímo do souboru.
base64 --decode /path/to/file > output.txt
Závěr
V tomto kurzu jste se naučili kódovat soubory a řetězce base64. To je něco, co se běžně dělá pro přenos souborů tak, aby zůstaly
.