Ubunlog Damián A.  

Base64, codificación y decodificación desde la línea de comandos

about base64

En el siguiente artículo vamos a echar un vistazo a cómo podemos codificar y decodificar desde la terminal con base64. La codificación es el proceso utilizado para convertir datos en un formato requerido para una transmisión o almacenamiento efectivo. Por el contrario, la decodificación es opuesta al método de codificación que convierte los datos codificados a su formato original. Base64 es el proceso de codificación donde los datos binarios se convierten en ASCII.

La codificación Base64 se utiliza principalmente para evitar los problemas de transmisión, que ocurren cuando se transmiten datos binarios a sistemas basados en texto que no pueden manejar estos datos binarios correctamente. Como resultado, la información se pierde o se corrompe durante la transmisión.

Base 64 es un sistema de numeración posicional que usa 64 como base. Es la mayor potencia que puede ser representada usando únicamente los caracteres imprimibles de ASCII. Esto ha propiciado su uso para codificación de correos electrónicos, PGP y otras aplicaciones. Todas las variantes famosas que se conocen con el nombre de Base64 usan el rango de caracteres A-Z, a-z y 0-9 en este orden para los primeros 62 dígitos, pero los símbolos escogidos para los últimos dos dígitos varían considerablemente de unas a otras. Algunos de los usos de la codificación son; la compresión de datos, la ocultación de datos o la transmisión de datos en otro formato.

En las siguientes líneas vamos a ver cómo usar el comando base64 para codificar y decodificar los datos en una cadena o un archivo. Para realizar este ejemplo voy a utilizar la terminal (Ctrl+Alt+T) del sistema Ubuntu 20.04 Focal Fossa.

Sintaxis para codificar usando Base64

base64 [OPCIÓN] ... [ARCHIVO]

Opciones

ayuda base64

Algunas de las opciones de la línea de comandos que se pueden usar con el comando base64 son:

  • –help → Utilizaremos esta opción para mostrar ayuda sobre el uso de base64.
  • -d o –decode → Utilizaremos esta opción para decodificar un archivo o una cadena.
  • -i, –ignore-garbage → Esta opción nos servirá mientras decodificamos para ignorar los caracteres que no son del alfabeto.
  • –version → Esta otra opción nos mostrar información sobre la versión que utilizamos.

Codificación de cadena con Base64

Los usuarios podemos codificar una cadena con el comando base64. El comando a utilizar sería:

codificar texto muestra

echo “Ubunlog” | base64

Este comando codificará el texto en la cadena usando base64 e imprimirá el texto codificado en salida estándar.

También podremos guardar la salida codificada en un archivo, en lugar de imprimirla en la salida estándar. El siguiente comando codificará el texto y guardará la salida en un archivo llamado “archivoCodificado.txt«:

texto dentro de archivo base64

echo “texto de ejemplo” | base64 > archivoCodificado.txt

Para ver el contenido del archivo codificado, podremos utilizar el comando cat, como se puede ver en la anterior captura.

Cadena de decodificación

Podremos decodificar el texto codificado en base64 usando la opción –decode o -d. Para decodificar el texto codificado en base64 ‘4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=‘, el comando sería:

decodificar texto ejemplo

echo “4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=” | base64 --decode

Este comando imprimirá el texto original en la salida estándar como se muestra en la anterior captura de pantalla.

También vamos a poder guardar la salida decodificada en un archivo, en lugar de imprimir en la salida estándar. El siguiente comando decodificará el texto codificado y guardará el texto original en un archivo llamado “archivoDecodificado .txt”:

texto dentro de archivo decodificado base64

echo “4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=” | base64 --decode > archivoDecodificado.txt

Para ver el contenido del archivo decodificado, podemos utilizar el comando cat.

Codificación de un archivo de texto

El comando base64 también se puede utilizar para codificar un archivo de texto. Si nos interesase codificar un archivo de texto llamado ‘archivotexto.txt‘, el comando a utilizar sería:

codificación archivo texto

base64 archivotexto.txt

Este comando codificará el archivo de texto especificado e imprimirá su forma codificada en la salida estándar.

También podremos guardar la salida codificada en un archivo, en lugar de imprimirla en la salida estándar. El siguiente comando convertirá el texto en el archivo usando base64 y guardará la salida en otro archivo llamado “archivoCodificado.txt»:

archivo codificado base64

base64 archivotexto.txt > archivoCodificado.txt

Para ver el contenido del archivo codificado, podremos utilizar el comando cat.

Decodificar el archivo de texto

Para decodificar un archivo de texto codificado, tendremos que usar la opción –decode o -d. Para decodificar el contenido del archivo de texto codificado en base64 ‘archivoCodificado .txt‘, el comando a utilizar sería:

decodificar contenido archivo texto

base64 -d archivoCodificado.txt

Este comando decodificará el archivo de texto codificado en base64 e imprimirá el texto original en la salida estándar.

También vamos a poder guardar la salida decodificada en un archivo, en lugar de imprimir en la salida estándar. El siguiente comando decodificará el texto codificado y guardará el texto original en un archivo llamado “archivoDecodificado.txt” que se puede ver más tarde usando el comando cat:

decodificar archivo texto

base64 -d archivoCodificado.txt > archivoDecodificado.txt

Así es como puede usar base64 para codificar y decodificar una cadena o un archivo desde la terminal. Es importante recordar que la codificación no es similar a la encriptación, y uno puede revelar fácilmente los datos codificados. Por este motivo no se recomienda utilizar la codificación para la transmisión de datos confidenciales. Más información en Wikipedia.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.