Basetop 10 codifica y decodifica desde la línea de comandos

Basetop 10 codifica y decodifica desde la línea de comandos
La codificación es el proceso utilizado para convertir los datos en un formato requerido para una transmisión o almacenamiento efectivo. En contraste, la decodificación es opuesta al método de codificación que convierte los datos codificados en su formato original. Base64 es el proceso de codificación donde los datos binarios se convierten en ASCII. La codificación BASE64 se requiere principalmente para evitar los problemas de transmisión que ocurren cuando los datos binarios se transmiten a sistemas basados ​​en texto que no pueden manejar los datos binarios correctamente. Como resultado, la información se pierde o se corrompe durante la transmisión.

Algunos de los usos de la codificación son:

  • Compresión de datos
  • Ocultación de datos
  • Transmisión de datos en otro formato

Para codificar datos, Base64 usa solo alfabeto, número y = símbolo. Por ejemplo, c2ftcgxlcg == es un datos codificados válidos mientras b?HV3.Zh2j == no son datos codificados válidos.

En este tutorial de insinte de Linux, explicaremos cómo usar el comando base64 para codificar y decodificar los datos en una cadena o un archivo. Hemos realizado los comandos en Ubuntu 20.04 Sistema de fosa focal. Sin embargo, también puede ejecutar los mismos comandos en otras distribuciones de Linux.

Sintaxis base64

Aquí está la sintaxis para codificar usando Base64:

base64 [opción] [archivo]

Opción

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

-d o --decode

Use esta opción para decodificar un archivo o una cadena.

--ayuda

Use esta opción para mostrar ayuda con respecto al uso de Base64.

-Yo,-indicador-Garbage

Use esta opción mientras decodifica para ignorar los caracteres que no son del Alfabeto

--versión

Use esta opción para mostrar la información de la versión

Cadena de codificación

Puede codificar fácilmente una cadena usando el comando base64. Por ejemplo, para codificar un texto de muestra "Bienvenido a Linux" a Base64, el comando sería:

Echo "Bienvenido a Linux" | base64
Salida terminal:
linuxhint@hp34: ~ $ echo "Bienvenido a Linux" | base64
V2vsy29tzsb0bybmaw51eao =

Este comando codificará el texto en la cadena usando Base64 e imprimirá el texto codificado en la salida estándar como se muestra en la salida del terminal anterior.

También puede guardar la salida codificada en un archivo en lugar de imprimir en salida estándar utilizando el operador de redirección (>). El siguiente comando codificará el texto y guardará la salida en un archivo llamado "File codificado.TXT:

Echo "Bienvenido a Linux" | base64> archivo codificado.TXT

Para ver el archivo codificado, puede usar el comando CAT:

Filito codificado de gato.TXT
Salida terminal:
linuxhint@hp34: ~ $ gat codificado.TXT
4OCCV2VSY29TZSB0BYBMAW51EOKANQO =

Cuerda decodificadora

También puede decodificar el texto codificado Base64 usando la opción -Decode o -D -D. Por ejemplo, para decodificar el texto codificado Base64 "V2VSY29TZSB0BYBMAW51EAO =", el comando sería:

echo 4OCCV2VSY29TZSB0BYBMAW51EOKANQO = | base64 --decode

Este comando decodificará el texto codificado Base64 e imprimirá el texto original en la salida estándar como se muestra en la siguiente salida del terminal.

Salida terminal:
linuxhint@hp34: ~ $ echo 4Occv2vsy29tzsb0bybmaw51eokanqo = | base64 --decode
"Bienvenido a Linux"

Codificación de archivo de texto

El comando base64 también se puede usar para codificar un archivo de texto. Para este ejemplo, creemos un archivo de texto con algún contenido primero usando este comando en el terminal, o use cualquier archivo de texto.

echo "" "Amo a Linux
Amo a Linux
Amo a Linux
Linuxhint es mi página de inicio "" "> Testfile.TXT

Para codificar este o cualquier archivo de texto llamado "TestFile.txt ”, el comando sería:

Base64 Testfile.TXT

Este comando codificará el archivo de texto especificado e imprimirá su formulario codificado en la salida estándar como se muestra en la siguiente salida del terminal:

linuxhint@hp34: ~ $ base64 testfile.TXT
SSBMB3ZLIEXPBNV4CKKGTG92ZSBMAW51EPJIEXVDMUGTGLUDXGKTGLUDXHIAW50IGLZIG15IGHV
bwvwywdlcg ==

También puede guardar la salida codificada en un archivo en lugar de imprimir en salida estándar utilizando el operador de redirección (>). El siguiente comando convertirá el texto en el archivo usando Base64 y guardará la salida en otro archivo llamado "File codificado.TXT". El comando no imprime nada en la pantalla.

Base64 Testfile.txt> archivo codificado.TXT

Para ver el archivo codificado, puede usar el comando CAT:

Filito codificado de gato.TXT
Salida terminal:
linuxhint@hp34: ~ $ base64 testfile.txt> archivo codificado.TXT
linuxhint@hp34: ~ $ gat codificado.TXT
SSBMB3ZLIEXPBNV4CKKGTG92ZSBMAW51EPJIEXVDMUGTGLUDXGKTGLUDXHIAW50IGLZIG15IGHV
bwvwywdlcg ==

Decodificación de archivo de texto

Para decodificar un archivo de texto codificado, use la opción -decode o -d. Por ejemplo, para decodificar el archivo de texto codificado Base64 "File codificado.txt ”, el comando sería:

Base64 -D codificado.TXT

Este comando decodificará el archivo de texto codificado Base64 e imprimirá el texto original en la salida estándar como se muestra en la siguiente salida del terminal:

Salida terminal:
linuxhint@hp34: ~ $ base64 -d codificado.TXT
Amo a Linux
Amo a Linux
Amo a Linux
Linuxhint es mi página de inicio
linuxhint@hp34: ~ $

Codificación de la entrada del usuario

Usando la codificación Base64, podemos codificar cualquier datos proporcionados por el usuario. Para este propósito, necesitaremos crear un script que tome la entrada del usuario, lo codee utilizando la codificación de Base64 e imprimir los datos codificados en la salida estándar. Crear un script "prueba.sh ”con el siguiente código:

#!/bin/bash
# Imprimir mensaje para solicitar entrada
echo "Proporcionar algunos datos para codificar"
# Guarde la entrada en una variable llamada "Datos"
leer datos
# Codificar usando la codificación de Base64 y guardar la salida en una variable "Encod_data"
encod_data = 'echo -n $ data | base64 '
# Salida codificada de impresión
echo "El texto codificado es: $ encod_data"

Ejecute el script de la siguiente manera:

prueba de chmod 755.mierda; ./prueba.mierda

Después de ejecutar el script, se le pedirá que ingrese los datos que desea codificar. Escriba algunos datos y presione ENTER, y recibirá la salida codificada en la pantalla como se muestra a continuación:

Salida terminal:
linuxhint@hp34: ~ $ chmod 755 prueba.mierda; ./prueba.mierda
Proporcionar algunos datos para codificar
Amo a Linux
El texto codificado es: SSBSB3ZLIGXPBNV4

Este texto codificado se puede enviar a través de Internet o a otro programa y luego decodificar más tarde utilizando un comando simple. Para este comando asumimos el programa receptor, decodifique.sh, ha puesto los datos codificados en una variable en bash llamada Recibido_coding.

#!/bin/bash
Recibe_Encoding = SSBSB3ZLIGXPBNV4
Recibido_string = 'echo $ recibido_encoding | base64 --decode '
echo $ recibido_string

Aquí puede ver los resultados del programa de recepción en la salida terminal:

linuxhint@hp34: ~ $ chmod 755 decode.mierda; ./descodificar.mierda
Amo a Linux

Conclusión

Así es como puede usar el Base64 para codificar y decodificar una cadena o un archivo desde la línea de comando. Los resultados se pueden imprimir en la salida estándar, guardar en una variable o un archivo, o pasar por la red a otro programa. Sin embargo, recuerde que la codificación no es similar al cifrado, y uno puede revelar fácilmente los datos codificados, por lo que no se recomienda utilizar la codificación para la transmisión de datos confidenciales a menos que también esté encriptado.