een veel voorkomende taak die ik moet doen tijdens mijn dagelijkse Software engineering is het coderen of decoderen van Base64 strings; het komt naar voren als ik werk met zaken als private keys of Kubernetes secrets, Die base64 gecodeerd zijn. Om dit te doen, kunt u eenvoudig een commando onthouden voor elk dat u kunt uitvoeren in uw terminal.
allereerst zou ik nalatig zijn als ik niet zou vermelden dat je dit niet per se hoeft te doen in je command line interface. Er zijn twee verwante websites, Base64 Decode en Base64 Encode, die deze taak bereiken. Ik ben op geen enkele manier verbonden met hen, maar ik ben er vrij zeker van dat veel, veel ontwikkelaars zijn bekend met hen.
Er zijn echter verschillende redenen waarom u deze sites niet mag gebruiken; bijvoorbeeld, misschien bent u offline en hebt u geen toegang tot deze sites. Ten tweede, misschien vertrouw je niet volledig op je geheime gegevens die naar de server gaan van iemand die je niet kent. Beide zijn echt valide punten, en dat is waarom ik stel voor de methoden die ik op het punt om te gaan over.
om in base64 te coderen, voer je eerst het volgende commando uit in je terminal:
echo -n 'username' | base64
laten we de verschillende componenten hiervan doornemen.
-
echo
: dit commando schrijft een string naar de standaarduitvoer, wat in minder technische termen betekent dat het letterlijk alles wat je op het scherm schrijft weer afdrukt. -
-n
: deze vlag geeft aan dat u de uitvoer op een nieuwe regel wilt afdrukken. Dit is eigenlijk best handig omdat anders, de Base64 gecodeerde string direct daarna zal afdrukken zonder spatie of iets anders. Het is gewoon moeilijker om te kopiëren en plakken, en je zou zelfs per ongeluk een deel van de eerste opdracht te kopiëren met de string, die zeker zou leiden tot hoofdpijn langs de lijn. Ik raad je aan om in de gewoonte van het opnemen van deze vlag ook al is het niet nodig om de opdracht daadwerkelijk werken. -
'username'
: hier plaats je de string die je wilt Base64 coderen; het hoeft niet letterlijkusername
te zijn. -
|
: Dit is een pipe die het commando vertelt dat je de uitvoer van het linkerdeel naar het rechterdeel wilt omleiden. In dit geval willen we niet gewoon herhalen wat we hebben geschreven; we willen het coderen! Dus geven we aan de rechterkant de instructies om de string te coderen. -
base64
: dit is een programma dat zich in hetcoreutils
(of GNU Core Utilities) pakket bevindt dat voorverpakt wordt geleverd met uw Mac of Linux OS. Andere bekende tools die ook incoreutils
staan, zijnls
rm
, encat
. Kortom, dit zal al het harde werk van het coderen van de tekenreeks die u eerder hebt verstrekt doen.
De uitvoer van het bovenstaande commando is als volgt:
dXNlcm5hbWU=
decoderen in base64
stel dat u daadwerkelijk bent begonnen met de base64 gecodeerde tekenreeks hierboven, dXNlcm5hbWU=
. Als je het wilt decoderen, is het proces eigenlijk net zo eenvoudig als in het bovenstaande gedeelte.
voer gewoon het volgende commando uit:
base64 --decode dXNlcm5hbWU=
Dit zou vrij gemakkelijk te begrijpen moeten zijn; de --decode
vlag doet precies wat je denkt dat het doet! De uitvoer is:
username
gemakkelijk te onthouden maar bruikbaar voor het leven
als je met software werkt, denk ik niet dat de bovenstaande subrubriek overdreven is; Ik gebruik deze commando ‘ s de hele tijd, en ik ben er zo dankbaar voor.