Maybaygiare.org

Blog Network

hur man kodar och avkodar Base64-strängar med Mac OS eller Linux

Tremaine Eto

följ
Sep 9, 2020 · 3 min läs

foto av James Orr på Unsplash

en ganska vanlig uppgift som jag behöver göra under min dagliga mjukvaruutveckling är att antingen koda eller avkoda base64-strängar; det kommer upp när jag arbetar med saker som privata nycklar eller Kubernetes-hemligheter, som är base64-kodade. För att göra det kan du enkelt memorera ett kommando för varje som du kan köra i din terminal.

först och främst skulle jag vara försumlig om jag inte nämnde att du inte nödvändigtvis behöver göra detta i ditt kommandoradsgränssnitt. Det finns två syskonwebbplatser, Base64 Decode och Base64 Encode, som uppnår denna uppgift. Jag är inte ansluten till dem på något sätt, men jag är ganska säker på att många, många utvecklare är bekanta med dem.

det finns dock olika anledningar till varför du inte får använda dessa webbplatser; för en, kanske du är offline och kan inte komma åt dem. För det andra kanske du inte helt litar på dina hemliga data som går till servern för någon du inte känner. Båda är verkligen giltiga poäng, och det är därför jag föreslår de metoder jag ska gå över.

först, för att koda i base64, kör följande kommando i din terminal:

echo -n 'username' | base64

Låt oss gå igenom de olika komponenterna till detta.

  • echo: detta kommando skriver en sträng till standardutgång, vilket i mindre tekniska termer betyder att det bokstavligen skriver ut vad du skriver på skärmen igen.
  • -n: denna flagga indikerar att du vill att utmatningen ska skrivas ut på en ny rad. Detta är faktiskt ganska användbart eftersom annars kommer base64-kodad sträng att skrivas ut direkt efteråt utan utrymme eller något annat. Det är bara svårare att kopiera och klistra in, och du kan till och med oavsiktligt kopiera några av det ursprungliga kommandot med strängen, vilket säkert skulle orsaka huvudvärk längs linjen. Jag rekommenderar att du får för vana att inkludera denna flagga även om det inte är nödvändigt att göra kommandot faktiskt fungerar.
  • 'username': det är här du lägger strängen du vill base64 koda; det behöver inte bokstavligen vara username.
  • |: Detta är ett rör som berättar för kommandot att du vill omdirigera utmatningen från den vänstra delen till den högra delen, i huvudsak. I det här fallet vill vi inte bara bara upprepa vad vi skrev; vi vill koda det! Således ger vi på höger sida instruktionerna för att koda strängen.
  • base64: detta är ett program som finns i paketet coreutils (eller GNU Core Utilities) som levereras färdigförpackat med ditt Mac-eller Linux-operativsystem. Andra välbekanta verktyg för dig som också finns i coreutils inkluderar lsrm och cat. I grund och botten kommer detta att göra allt det hårda arbetet med att koda strängen du angav tidigare.

utmatningen av ovanstående kommando är som följer:

dXNlcm5hbWU=

avkoda i base64

låt oss säga att du faktiskt började med den base64-kodade strängen ovan, dXNlcm5hbWU=. Om du vill avkoda det är processen faktiskt lika enkel som den var i ovanstående avsnitt.

kör bara följande kommando:

base64 --decode dXNlcm5hbWU=

detta borde vara ganska lätt att förstå;--decode flaggan gör exakt vad du tror att den gör! Utgången är:

username

lätt att memorera men användbart för livet

om du arbetar med programvara tror jag inte att ovanstående underrubrik är mycket av en överdrift; jag använder dessa kommandon hela tiden, och jag är så tacksam för dem.

Lämna ett svar

Din e-postadress kommer inte publiceras.