En el següent article anem a fer una ullada a com podem codificar i descodificar des de la terminal amb base64. La codificació és el procés utilitzat per convertir dades en un format requerit per a una transmissió o emmagatzematge efectiu. Per contra, la descodificació és oposada a l'mètode de codificació que converteix les dades codificades al seu format original. Base64 és el procés de codificació on les dades binaris es converteixen en ASCII.
La codificació Base64 és útil sobretot per evitar els problemes de transmissió, Que ocorren quan es transmeten dades binàries a sistemes basats en text que no poden manejar aquestes dades binaris correctament. Com a resultat, la informació es perd o es corromp durant la transmissió.
Base 64 és un sistema de numeració posicional que utilitza 64 com a base. És la major potència que pot ser representada usant únicament els caràcters imprimibles de ASCII. Això ha propiciat el seu ús per a codificació de correus electrònics, PGP i altres aplicacions. Totes les variants famoses que es coneixen amb el nom de Base64 usen el rang de caràcters AZ, az i 0-9 en aquest ordre per als primers 62 dígits, però els símbols escollits per als últims dos dígits varien considerablement d'unes a altres. Alguns dels usos de la codificació són; la compressió de dades, l'ocultació de dades o la transmissió de dades en un altre format.
En les següents línies veurem com utilitzar la comanda base64 per codificar i descodificar les dades en una cadena o un arxiu. Per realitzar aquest exemple utilitzaré la terminal (Ctrl + Alt + T) de sistema Ubuntu 20.04 Focal Fossa.
Sintaxi per codificar usant Base64
base64 [OPCIÓN] ... [ARCHIVO]
Opcions
Algunes de les opcions de la línia de comandes que es poden usar amb la comanda base64 són:
- -help → Utilitzarem aquesta opció per mostrar ajuda sobre l'ús de base64.
- -do -decode → Utilitzarem aquesta opció per descodificar un arxiu o una cadena.
- -i, -ignore-garbage → Aquesta opció ens servirà mentre descodifiquem per ignorar els caràcters que no són de l'alfabet.
- -versió → Aquesta altra opció ens mostrar informació sobre la versió que fem servir.
Codificació de cadena amb Base64
Els usuaris podem codificar una cadena amb la comanda base64. La comanda a utilitzar seria:
echo “Ubunlog” | base64
aquesta comanda codificarà el text en la cadena usant base64 i imprimirà el text codificat en sortida estàndard.
també podrem guardar la sortida codificada en un arxiu, en lloc de imprimir-la en la sortida estàndard. El següent comanda codificarà el text i guardarà la sortida en un arxiu anomenat "fitxerCodificat.txt«:
echo “texto de ejemplo” | base64 > archivoCodificado.txt
Per a la veure el contingut de l'arxiu codificat, Podrem utilitzar la comanda gat, Com es pot veure en l'anterior captura.
Cadena de descodificació
podrem descodificar el text codificat en base64 amb l'opció -decode o -d. Per descodificar el text codificat en base64 '4oCcdGV4dG8gZGUgZWplbXBsb + KAnQo =', La comanda seria:
echo “4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=” | base64 --decode
aquesta comanda imprimirà el text original a la sortida estàndard com es mostra en l'anterior captura de pantalla.
També podrem guardar la sortida descodificada en un arxiu, En lloc d'imprimir a la sortida estàndard. El següent comanda decodificarà el text codificat i guardarà el text original en un arxiu anomenat "fitxerDecodificat .txt"
echo “4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=” | base64 --decode > archivoDecodificado.txt
Per a la veure el contingut de l'arxiu descodificat, Podem utilitzar la comanda gat.
Codificació d'un arxiu de text
la comanda base64 també es pot utilitzar per codificar un arxiu de text. Si ens interessés codificar un arxiu de text anomenat 'fitxertext.txt', La comanda a utilitzar seria:
base64 archivotexto.txt
aquesta comanda codificarà l'arxiu de text especificat i imprimirà la seva forma codificada a la sortida estàndard.
També podrem guardar la sortida codificada en un arxiu, En lloc d'imprimir a la sortida estàndard. El següent comanda convertirà el text en el fitxer fent servir base64 i guardarà la sortida en un altre arxiu anomenat "archivoCodificado.txt »:
base64 archivotexto.txt > archivoCodificado.txt
Per a la veure el contingut de l'arxiu codificat, Podrem utilitzar la comanda gat.
Descodificar el fitxer de text
Per a la descodificar un arxiu de text codificat, haurem de fer servir l'opció -decode o -d. Per descodificar el contingut de l'arxiu de text codificat en base64 'fitxerCodificat .txt', La comanda a utilitzar seria:
base64 -d archivoCodificado.txt
aquesta comanda decodificarà l'arxiu de text codificat en base64 i imprimirà el text original a la sortida estàndard.
També podrem guardar la sortida descodificada en un arxiu, En lloc d'imprimir a la sortida estàndard. El següent comanda decodificarà el text codificat i guardarà el text original en un arxiu anomenat "fitxerDecodificat.txt"Que es pot veure més tard utilitzant la comanda gat:
base64 -d archivoCodificado.txt > archivoDecodificado.txt
Així és com pot usar base64 per codificar i descodificar una cadena o un fitxer des de la terminal. És important recordar que la codificació no és similar a la encriptació, I un pot revelar fàcilment les dades codificades. Per aquest motiu no es recomana utilitzar la codificació per a la transmissió de dades confidencials. Més informació a Wikipedia.
Moltes gràcies per l´explicació, molt clara.