Descripción del proyecto Este proyecto es un ejemplo simple de cifrado y descifrado de texto utilizando el operador XOR (^) en Python. El objetivo del código es demostrar cómo se puede cifrar un texto usando una llave aleatoria compuesta por números binarios (0 y 1), y cómo el mismo proceso puede revertirse para recuperar el texto original.
Funcionamiento del código A continuación se explica cada parte del código paso a paso: import random Se importa el módulo random, necesario para generar números aleatorios.
texto = "Hola" Se define la variable texto, que contiene la palabra que se desea cifrar. llave = [random.randint(0, 1) for i in range(len(texto))] Aquí se genera una llave aleatoria del mismo tamaño que el texto. Cada elemento de la lista llave será un número 0 o 1, generado con random.randint(0, 1). Por ejemplo, si el texto tiene 4 caracteres (“Hola”), la llave podría ser algo como: [1, 0, 1, 1] def cipher(texto, llave): salida = "" for h in range(len(texto)): salida += chr(ord(texto[h]) ^ llave[h]) return salida Esta función llamada cipher realiza tanto el cifrado como el descifrado. ord(texto[h]) obtiene el valor numérico del carácter. ^ llave[h] aplica la operación XOR entre el valor numérico del carácter y el número de la llave. chr(...) convierte el resultado de nuevo en un carácter. El resultado es una nueva cadena con el texto cifrado.
cifrado = cipher(texto, llave) descifrado = cipher(cifrado, llave) Primero se cifra el texto original con la llave y se guarda en cifrado. Luego, se aplica la misma función nuevamente al texto cifrado con la misma llave para obtener el texto original, guardado en descifrado. Esto funciona porque el XOR tiene la propiedad de que: (A XOR B) XOR B = A print(llave) print(texto) print(cifrado) print(descifrado) Se imprimen: La llave generada aleatoriamente. El texto original. El texto cifrado. El texto descifrado (que debe coincidir con el original). Ejemplo de salida [1, 0, 1, 1] Hola Iok` Hola
Instrucciones para clonar y ejecutar el proyecto
- Clonar el repositorio Si el proyecto está en GitHub, puedes clonarlo con el siguiente comando: git clone https://github.com/usuario/nombre-del-repositorio.git
- Entrar al directorio del proyecto cd nombre-del-repositorio
- Ejecutar el script Asegúrate de tener Python instalado. Luego, ejecuta el archivo con: python nombre_del_archivo.py (Reemplaza nombre_del_archivo.py por el nombre real del archivo que contiene el código.) Requisitos Python 3.x No se necesitan librerías adicionales aparte de las incluidas por defecto.