Overzicht
In deze tutorial leert u hoe u base64 codeert en decodeert vanaf de command-line op Linux. U leert ook wat base64-encodering is en waarom het nooit zou mogen worden gebruikt om gegevens te beschermen tegen ongeoorloofde toegang.
Base64-encodering en decodering van gegevens heeft vele gebruikssituaties. Een daarvan is het waarborgen van de integriteit van gegevens bij het overbrengen van gegevens via het netwerk, terwijl een andere is het opslaan van Geheimen in Kubernetes.
Na het lezen van deze tutorial zult u begrijpen hoe u eenvoudig bestanden of strings kunt coderen, en ze vervolgens terug kunt decoderen.
Hoe base64 coderen op Ubuntu, Debian, OSX, en Red Hat
Als u populaire Linux-distributies draait, zoals Ubuntu, Debian, CentOS, of Red Hat, is de base64 command-line tool meestal voorgeïnstalleerd. U zou geen extra stappen moeten hoeven uitvoeren.
OSX wordt ook geleverd met zijn eigen versie van base64.
Waarom Base64 gegevens coderen
Het overbrengen van een ASCII-bestand over het netwerk kan corruptie veroorzaken als het niet correct wordt gedecodeerd. De reden hiervoor is dat ASCII-bestanden worden geconverteerd naar bytes, en wanneer die bytes onjuist worden gedecodeerd naar ASCII, worden uw gegevens corrupt.
Base64 werd geïntroduceerd als een manier om uw ASCII-gegevens te converteren naar willekeurige bytes, waar ze vervolgens konden worden overgebracht als bytes, en correct gedecodeerd terug naar ASCII.
In het kort, base64 encoding verzekert de integriteit van onze gegevens bij overdracht over het netwerk.
Base64 is geen Encryptie
Encoding van bestanden is geen encryptie en mag nooit worden gebruikt om gevoelige gegevens op schijf te beveiligen. Het is eerder een handige manier om grote gegevens in de vorm van een string over te dragen of op te slaan.
Hoewel het de eigenlijke gegevens voor surfers kan versluieren, kan iedereen die toegang heeft tot base64 gecodeerde gegevens deze gemakkelijk decoderen.
Base64 coderen van een string
Om een string te base64 coderen kunt u een echo commando in het base64 command-line gereedschap pijpen. Om er zeker van te zijn dat er geen extra, verborgen karakters worden toegevoegd gebruikt u de -n
vlag.
Zonder de -n
vlag kunt u verborgen karakters vastleggen, zoals line returns of spaties, die uw base64 codering zullen corrumperen.
echo -n 'my-string' | base64
Wat het volgende zal opleveren
bXktc3RyaW5n
Base64 coderen van een bestand
Om een bestand te base64 coderen
base64 /path/to/file
Dit zal een zeer lange, base64 gecodeerde string opleveren. Misschien wilt u in plaats daarvan de stdout naar een bestand schrijven.
bas64 /path/to/file > output.txt
Strings decoderen
Om te decoderen met base64 moet u de --decode
vlag gebruiken. Met gecodeerde string, kunt u een echo commando in base64 pijpen zoals u deed om het te coderen.
Gebruik makend van de voorbeeld codering hierboven, laten we het terug decoderen in zijn originele vorm.
echo -n 'bXktc3RyaW5n' | base64 --decode
Op voorwaarde dat uw codering niet corrupt was, zou de uitvoer uw originele string moeten zijn.
Bestanden decoderen
Om een bestand te decoderen met inhoud die base64 gecodeerd is, geeft u eenvoudig het pad van het bestand op met de --decode
vlag.
base64 --decode /path/to/file
Zoals bij het coderen van bestanden, zal de uitvoer een zeer lange string zijn van het originele bestand. Misschien wilt u stdout direct naar een bestand uitvoeren.
base64 --decode /path/to/file > output.txt
Conclusie
In deze tutorial heeft u geleerd hoe u bestanden en strings kunt base64-encoderen. Dit is iets wat vaak gedaan wordt om bestanden zo over te zetten dat het