Maybaygiare.org

Blog Network

Hogyan Kódolás, Dekódolás Base64 Húrok Mac OS vagy Linux

Tremaine Eto

Kövesse

Sep 9, 2020 · 3 min olvassa el a

Fotó: James Orr a Unsplash

az egyik nagyon gyakori feladat, amit meg kell tennem a napi szoftverfejlesztés során, hogy vagy kódoljam vagy dekódoljam a base64 karakterláncokat; akkor jön létre, amikor olyan dolgokkal dolgozom, mint a privát kulcsok vagy a Kubernetes titkok, amelyek base64 kódoltak. Ehhez könnyedén megjegyezhet egy parancsot mindegyikhez, amelyet a terminálon futtathat.

először is hanyag lennék, ha nem említeném, hogy nem feltétlenül kell ezt tennie a parancssori felületen. Két testvérwebhely van, a Base64 Decode és a Base64 Encode, amelyek ezt a feladatot teljesítik. Semmilyen módon nem vagyok kapcsolatban velük, de biztos vagyok benne, hogy sok-sok fejlesztő ismeri őket.

számos oka van azonban annak, hogy miért nem használja ezeket a webhelyeket; például lehet, hogy offline állapotban van, és nem tudja elérni őket. Másodszor, talán nem bízik teljes mértékben a titkos adataiban, amelyek valakinek a szerverére kerülnek, akit nem ismer. Mindkettő valóban érvényes pont, ezért javaslom azokat a módszereket, amelyeken át fogok menni.

először a base64 kódolásához futtassa a következő parancsot a terminálon:

echo -n 'username' | base64

menjünk át a különböző komponenseket erre.

  • echo: ez a parancs egy karakterláncot ír a szabványos kimenetre, ami kevésbé technikai értelemben azt jelenti, hogy szó szerint kinyomtatja, amit írsz a képernyőre.
  • -n: ez a jelző azt jelzi, hogy a kimenetet új sorra szeretné nyomtatni. Ez valójában nagyon hasznos, mert különben a base64 kódolású karakterlánc közvetlenül utána nyomtat, szóköz vagy bármi más nélkül. Csak nehezebb másolni és beilleszteni, sőt véletlenül átmásolhatja a kezdeti parancs egy részét a karakterlánccal, ami minden bizonnyal fejfájást okozna a sorban. Azt javaslom, hogy szokja be ezt a zászlót, annak ellenére, hogy nem szükséges, hogy a parancs valóban működjön.
  • 'username': itt helyezed el a base64 kódolni kívánt karakterláncot; nem kell szó szerint username.
  • |: Ez egy cső, amely megmondja a parancsnak, hogy a bal oldali rész kimenetét lényegében a jobb oldali részre szeretné átirányítani. Ebben az esetben nem egyszerűen csak azt akarjuk visszhangozni, amit írtunk; kódolni akarjuk! Így a jobb oldalon megadjuk a karakterlánc kódolására vonatkozó utasításokat.
  • base64: ez egy olyan program, amely a coreutils (vagy GNU Core Utilities) csomagban található, amely előre csomagolva van a Mac vagy Linux operációs rendszerhez. A coreutils egyéb ismerős eszközei közé tartozik a lsrm és cat. Alapvetően ez elvégzi a korábban megadott karakterlánc kódolásának minden kemény munkáját.

a fenti parancs kimenete a következő:

dXNlcm5hbWU=

dekódolja a base64-ben

tegyük fel, hogy valójában a fenti base64 kódolású karakterlánccal kezdte, dXNlcm5hbWU=. Ha dekódolni szeretné, a folyamat valójában ugyanolyan egyszerű, mint a fenti szakaszban volt.

egyszerűen futtassa a következő parancsot:

base64 --decode dXNlcm5hbWU=

ennek elég könnyen érthetőnek kell lennie; a --decode zászló pontosan azt teszi, amit gondol! A kimenet:

username

könnyen megjegyezhető, de hasznos az élet számára

ha szoftverrel dolgozik, nem hiszem, hogy a fenti alfejezet túlzó lenne; állandóan használom ezeket a parancsokat, és nagyon hálás vagyok értük.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.