Maybaygiare.org

Blog Network

Come la Codifica e la Decodifica Base64 Stringhe Con Mac OS o Linux

Tremaine Eto

Seguire

Sep 9, 2020 · 3 min leggere

Foto di James Orr su Unsplash

Un compito abbastanza comune che devo fare durante la mia ingegneria del software giorno per giorno è quello di codificare o decodificare le stringhe base64; si presenta quando sto lavorando con cose come chiavi private o segreti Kubernetes, che sono codificati base64. Per fare ciò, puoi facilmente memorizzare un comando per ciascuno che puoi eseguire nel tuo terminale.

Prima di tutto, sarei negligente se non menzionassi che non devi necessariamente farlo nella tua interfaccia a riga di comando. Ci sono due siti Web fratelli, Base64 Decode e Base64 Encode, che raggiungono questo compito. Non sono affiliato con loro in alcun modo, ma sono abbastanza certo che molti, molti sviluppatori hanno familiarità con loro.

Tuttavia, ci sono vari motivi per cui non puoi utilizzare quei siti; per uno, forse sei offline e non puoi accedervi. Secondo, forse non ti fidi completamente dei tuoi dati segreti che vanno al server di qualcuno che non conosci. Entrambi sono punti davvero validi, ed è per questo che suggerisco i metodi che sto per esaminare.

Per prima cosa, per codificare in base64, esegui il seguente comando nel tuo terminale:

echo -n 'username' | base64

Andiamo oltre i diversi componenti a questo.

  • echo: Questo comando scrive una stringa sullo standard output, che in termini meno tecnici significa che stampa letteralmente tutto ciò che scrivi sullo schermo di nuovo.
  • -n: Questo flag indica che si desidera stampare l’output su una nuova riga. Questo è in realtà piuttosto utile perché altrimenti, la stringa codificata base64 verrà stampata subito dopo senza spazio o altro. È solo più difficile copiare e incollare, e potresti anche copiare accidentalmente alcuni dei comandi iniziali con la stringa, il che causerebbe sicuramente mal di testa su tutta la linea. Ti consiglio di prendere l’abitudine di includere questo flag anche se non è necessario far funzionare effettivamente il comando.
  • 'username': Questo è dove metti la stringa che vuoi codificare base64; non deve letteralmente essereusername.
  • |: Questa è una pipe che dice al comando che si desidera reindirizzare l’output della parte sinistra nella parte destra, in sostanza. In questo caso, non vogliamo semplicemente riecheggiare ciò che abbiamo scritto; vogliamo codificarlo! Quindi, forniremo sul lato destro le istruzioni per codificare la stringa.
  • base64: Questo è un programma che si trova nel pacchetto coreutils (o GNU Core Utilities) che viene fornito preconfezionato con il sistema operativo Mac o Linux. Altri strumenti familiari che si trovano anche incoreutils includonolsrm ecat. Fondamentalmente, questo farà tutto il duro lavoro di codifica della stringa che hai fornito in precedenza.

L’output del comando precedente è il seguente:

dXNlcm5hbWU=

Decodifica in base64

Supponiamo che tu abbia effettivamente iniziato con la stringa codificata base64 sopra, dXNlcm5hbWU=. Se si desidera decodificarlo, il processo è in realtà facile come lo era nella sezione precedente.

Esegui semplicemente il seguente comando:

base64 --decode dXNlcm5hbWU=

Questo dovrebbe essere abbastanza facile da capire; il flag--decode fa esattamente quello che pensi che faccia! L’output è:

username

Facile da memorizzare ma utile per la vita

Se lavori con il software, non penso che il sottotitolo sopra sia molto esagerato; uso questi comandi tutto il tempo, e sono così grato per loro.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.