Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
El cifrado Caesar es un cifrado antiguo y ampliamente utilizado que es fácil de cifrar y descifrar. Funciona cambiando las letras del alfabeto para crear un alfabeto completamente nuevo (ABCDEF podría cambiar más de 4 letras y se convertiría en EFGHIJ).
Los cifrados Caesar no son los cifrados más seguros que existen, pero son buenos para tareas pequeñas como pasar notas secretas o hacer que las contraseñas sean un poco más seguras. Es muy fácil descifrar el código, pero puede resultar tedioso encriptar uno si no se ha memorizado el alfabeto especial.
Para facilitar este proceso, podemos utilizar el poder de las computadoras, más específicamente el lenguaje de programación Python.
Este Instructable le mostrará cómo crear un programa que convierte mensajes en un cifrado a su disposición.
Suministros
Todo lo que necesita es un intérprete de Python: IDLE, Pycharm y Thonny son algunas opciones buenas y gratuitas (usé Pycharm)
Conocimientos básicos de Python
Paso 1: Declaración de variables y obtención de entradas
Para almacenar realmente los valores de cadena (texto) del alfabeto, mensaje, turno, etc., necesitamos usar variables. Comenzamos declarando las variables 'alfabeto', 'parcialOne', 'parcialTwo' y 'newAlphabet'. He escrito los nombres de las variables en Camel Case en mi código (la primera palabra está en minúsculas y la segunda en mayúscula) pero puede escribirlo de la forma que desee, siempre que recuerde cambiarlo en el resto del código también.. La variable del alfabeto tiene el valor "abcdefghijklmnopqrstuvwxyz". Todas las demás variables se establecen en "", que es una cadena vacía ya que aún no tenemos sus valores.
Lo que está haciendo es configurar el sistema parcial, que es lo que estamos usando para crear realmente el turno. Esto se explicará en un paso posterior.
Después de esto, tenemos que recibir el mensaje y cambiar el valor del usuario. Usamos la función de entrada para hacer esto. Esta parte del código le pide al usuario un mensaje y un número para cambiar el alfabeto.
CÓDIGO:
alfabeto = "abcdefghijklmnopqrstuvwxyz"
parcialOne = ""
parcialTwo = ""
newAlphabet = ""
message = input ("Por favor ingrese el mensaje que desea traducir:").lower ()
key = int (input ("Ingrese el número que desea cambiar por:"))
Paso 2: creación del nuevo alfabeto
Ahora para crear el alfabeto cambiado. Para hacer esto, usaremos el sistema parcial. El sistema parcial es donde la computadora divide el alfabeto en dos parciales (una forma elegante de decir partes). El primer parcial es lo largo que le dijiste al programa que cambiara, y el segundo es el resto. La computadora cambia los parciales. Eso es exactamente lo que está haciendo el código, junto con la primera declaración, que dice que si el cambio es 0, el nuevo alfabeto y el antiguo son los mismos, ya que no está cambiando nada.
Por ejemplo:
Secuencia - 123456789
Parcial uno - 123; Parcial dos - 456789
Nueva secuencia - 456789123
CÓDIGO:
si clave == 0:
newAlphabet = alfabeto
tecla elif> 0:
parcialOne = alfabeto [: clave]
parcialTwo = alfabeto [clave:]
newAlphabet = parcialTwo + parcialOne
demás:
parcialOne = alfabeto [:(26 + clave)]
parcialTwo = alfabeto [(26 + clave):]
newAlphabet = parcialTwo + parcialOne
Paso 3: Cambiar el mensaje
Ahora tenemos nuestro alfabeto y el nuevo alfabeto. Todo lo que queda es cambiar el mensaje al código.
Primero, configuramos una nueva variable y la llamamos 'encriptada' y la configuramos en "". Luego escribimos un bucle for realmente complicado que verifica cada letra en el mensaje y lo cambia a la nueva letra. Genera el resultado y ahí lo tiene, ¡un código convertido con éxito!
CÓDIGO:
encrypted = "" para message_index en el rango (0, len (mensaje)):
si mensaje [message_index] == "":
cifrado + = ""
para alphabet_index en el rango (0, len (newAlphabet)):
si el mensaje [message_index] == alphabet [alphabet_index]:
cifrado + = newAlphabet [alphabet_index]
imprimir (cifrado)
Paso 4: adicional
Se adjunta el archivo de código.