Overview

En este tutorial, aprenderá a codificar y decodificar base64 desde la línea de comandos en Linux. También aprenderá qué es la codificación base64 y por qué nunca debe utilizarse para proteger los datos del acceso no autorizado.

La codificación y decodificación de datos base64 tiene muchos casos de uso. Uno de ellos es asegurar la integridad de los datos cuando se transfieren datos a través de la red, mientras que otro es el almacenamiento de Secretos en Kubernetes.

Después de leer este tutorial entenderás cómo codificar fácilmente archivos o cadenas, y luego decodificarlos de nuevo.

Cómo codificar en base64 en Ubuntu, Debian, OSX y Red Hat

Si está ejecutando distribuciones de linux populares, como Ubuntu, Debian, CentOS o Red Hat, la herramienta de línea de comandos base64 suele estar preinstalada. No debería tener que realizar ningún paso adicional.

OSX también viene con su propia versión de base64.

¿Por qué Base64 codifica los datos

Transferir un archivo ASCII a través de la red puede causar corrupción si no se decodifica correctamente. La razón es que los archivos ASCII se convierten en cadenas de bytes, y cuando esos bytes se decodifican incorrectamente de vuelta a ASCII sus datos se corrompen.

Base64 se introdujo como una forma de convertir sus datos ASCII en bytes arbitrarios, donde luego podrían ser transferidos como bytes, y decodificados correctamente de vuelta a ASCII.

En resumen, la codificación base64 asegura la integridad de nuestros datos cuando se transfieren a través de la red.

Base64 no es encriptación

La codificación de archivos no es una encriptación y nunca debe utilizarse para asegurar datos sensibles en el disco. Más bien es una forma útil de transferir o almacenar grandes datos en forma de cadena.

Aunque puede ofuscar esos datos reales de los navegantes, cualquiera que tenga acceso a los datos codificados en base64 puede descifrarlos fácilmente.

Codificación de una cadena en base64

Para codificar una cadena en base64 puede canalizar un comando echo en la herramienta de línea de comandos base64. Para asegurarse de que no se añaden caracteres extra, ocultos, utilice la bandera -n.

Sin la bandera -n puede capturar caracteres ocultos, como retornos de línea o espacios, que corromperán su codificación base64.

echo -n 'my-string' | base64

Que dará como resultado lo siguiente

bXktc3RyaW5n

Codificación base64 de un archivo

Para codificar en base64 un archivo

base64 /path/to/file

Esto dará como resultado una cadena muy larga codificada en base64. Es posible que desee escribir la salida estándar a un archivo en su lugar.

bas64 /path/to/file > output.txt

Decodificación de cadenas

Para decodificar con base64 necesita utilizar la bandera --decode. Con la cadena codificada, puede canalizar un comando echo en base64 como lo hizo para codificarla.

Usando la codificación de ejemplo mostrada arriba, vamos a decodificarla a su forma original.

echo -n 'bXktc3RyaW5n' | base64 --decode

Si la codificación no se ha corrompido, la salida debería ser la cadena original.

Decodificación de archivos

Para decodificar un archivo con contenido codificado en base64, simplemente hay que proporcionar la ruta del archivo con la bandera --decode.

base64 --decode /path/to/file

Al igual que con la codificación de archivos, la salida será una cadena muy larga del archivo original. Es posible que desee la salida de stdout directamente a un archivo.

base64 --decode /path/to/file > output.txt

Conclusión

En este tutorial, usted aprendió cómo base64 codificar archivos y cadenas. Esto es algo que se hace comúnmente para transferir archivos de tal manera que quede

Deja una respuesta

Tu dirección de correo electrónico no será publicada.