Programa de cifrado Caesar en Python: 4 pasos
Programa de cifrado Caesar en Python: 4 pasos
Anonim
Programa de cifrado Caesar en Python
Programa de cifrado Caesar en Python

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

Declaración de variables y obtención de entradas
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

Creando el Nuevo Alfabeto
Creando el 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

Cambiando el mensaje
Cambiando 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

Adicional
Adicional
Adicional
Adicional

Se adjunta el archivo de código.