Inicio Apuntes FP Base64, codificar y decodificar una validación de usuario

Base64, codificar y decodificar una validación de usuario

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Una vez más aquí. En esta ocasión vengo a dejar un pequeño artículo sobre algo que un usuario me ha pedido que escribiera. En las siguientes líneas vamos a ver cómo podemos crear un archivo para codificar y decodificar una validación de usuario utilizando base64 desde la terminal de Ubuntu.

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. Hay que decir que los símbolos escogidos para los últimos dos dígitos varían considerablemente de unas a otras.

Otros métodos de codificación como UUEncode y las últimas versiones de binhex usan un conjunto diferente de 64 caracteres para representar 6 dígitos binarios, pero estos nunca son llamados Base64.

Codificación de una contraseña introducida por el usuario

Usando la codificación base64, podemos codificar cualquier dato proporcionado por el usuario. Para este propósito, necesitaremos crear un script que tomará la entrada del usuario, lo codificará usando la codificación base64 e imprimirá los datos codificados en la salida estándar.

Vamos a crear un script llamado ‘test.shescribiendo en la terminal (Ctrl+Alt+T):

sudo vim test.sh

Dentro del archivo vamos a pegar el siguiente contenido:

código test
#!/bin/bash
# Imprimir mensaje para solicitar información
echo "Proporciona algunos datos para codificar"
# Guarda la entrada en una variable llamada 'datos'
read datos
# Codifica usando la codificación base64 y guarda la salida en 'encod_datos'
encod_datos=`echo -n $datos | base64`
# Imprimir salida codificada
echo "El texto codificado es: $encod_datos"

Ejecuta el script de la siguiente manera:

./test.sh
ejecutando test y codificando contraseña base64

Después de ejecutar el script, se nos pedirá que escribamos los datos que queramos codificar. Escribe algo y pulsa Intro, recibiremos la salida codificada en la pantalla.

Validación de la clave de usuario con base64

Para empezar vamos a ver un ejemplo de decodificación base64. Usaremos la decodificación base64 para verificar la validez del usuario.

Para ello, crearemos un script que le pedirá al usuario una clave. Luego, hará coincidir la clave de entrada con la clave predefinida, que primero se decodificará mediante la decodificación base64.

Si la clave ingresada por el usuario coincide con la clave predefinida, se imprimirá el mensaje ‘Ha ingresado una clave válida‘, de lo contrario, verá ‘La clave que ingresó no es válida‘ impreso en la pantalla.

Como decía, vamos a crear un script llamado ‘test1.shutilizando en la terminal (Ctrl+Alt+T) el comando:

sudo vim test1.sh

Dentro del archivo, vamos a pegar el siguiente contenido:

código test1
#!/bin/bash
# Imprime el mensaje
echo "Escribe la clave"
# Guardamos la clave proporcionada por le usuario en la variable "key"
read key
# Decodificamos la clave (YWJjMTIzNDU=) y la guardamos en la variable “orig_key”
orig_key=`echo 'YWJjMTIzNDU=' | base64 --decode`
# Comparamos la clave proporcionada por el usuario y la clave que acabamos de decodificar
if [ $key == $orig_key ]; then
# Si las claves coinciden, imprime
echo "Contraseña correcta"
else
# Si las claves no coinciden imprime
echo "La clave no es correcta"
fi


Una vez escrito lo anterior, guardamos y cerramos el archivo. Una vez en la terminal ejecutaremos el script con el siguiente comando:

./test1.sh

Después de ejecutar el script, se nos pedirá la clave. Escribe la clave y presione Intro. Si la clave ingresada coincide con la clave decodificada predefinida, recibirá el mensaje ‘Ha ingresado una clave válida:

ejecución test1 base64

De lo contrario, el mensaje ‘La clave que ingresó no es válida‘ se imprimirá en la pantalla:

ejecución test1 base64

Para terminar, quiero recordar que la codificación no es similar a la encriptación. Por este motivo, 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.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.