Taula de continguts:

Programa de xifratge Cèsar a Python: 4 passos
Programa de xifratge Cèsar a Python: 4 passos

Vídeo: Programa de xifratge Cèsar a Python: 4 passos

Vídeo: Programa de xifratge Cèsar a Python: 4 passos
Vídeo: Encryption with Caesar Cypher in Kotlin explained in 60 seconds #KotlinShorts 2024, De novembre
Anonim
Programa de xifratge de Caesar a Python
Programa de xifratge de Caesar a Python

El xifratge Caesar és un xifratge antic i molt utilitzat que és fàcil de xifrar i desxifrar. Funciona desplaçant les lletres de l'alfabet per crear un alfabet completament nou (ABCDEF podria canviar més de 4 lletres i es convertiria en EFGHIJ).

Els xifrats Caesar no són els xifrats més segurs que existeixen, però són bons per a tasques petites com passar notes secretes o fer que les contrasenyes siguin una mica més fortes. És molt fàcil desxifrar el codi, però pot ser tediós xifrar-lo si no teniu memoritzat l’alfabet especial.

Per facilitar aquest procés, podem utilitzar la potència dels ordinadors, més concretament el llenguatge de programació Python.

Aquesta instrucció us mostrarà com crear un programa que converteixi els missatges en xifratge al vostre comandament.

Subministraments

Tot el que necessiteu és un intèrpret de Python: IDLE, Pycharm i Thonny són algunes bones opcions gratuïtes (he utilitzat Pycharm)

Coneixements bàsics de Python

Pas 1: declaració de variables i obtenció d'entrades

Declarar variables i obtenir entrades
Declarar variables i obtenir entrades

Per emmagatzemar els valors de la cadena (text) de l’alfabet, missatge, desplaçament, etc., hem d’utilitzar variables. Comencem declarant les variables 'alfabet', 'partialOne', 'partialTwo' i 'newAlphabet'. He escrit els noms de les variables a Camel Case al meu codi (la primera paraula és minúscula i la segona majúscula), però podeu escriure-la com vulgueu, sempre que recordeu de canviar-la a la resta del codi.. La variable alfabètica té el valor "abcdefghijklmnopqrstuvwxyz". Totes les altres variables s'estableixen en "", que és una cadena buida, ja que encara no tenim els seus valors.

El que fa això és configurar el sistema parcial, que és el que estem utilitzant per crear realment el canvi. Això s'explicarà en un pas posterior.

Després d'això, hem d'obtenir el missatge i canviar el valor de l'usuari. Utilitzem la funció d’entrada per fer-ho. Aquesta part del codi demana a l'usuari un missatge i un número per canviar l'alfabet.

CODI:

alphabet = "abcdefghijklmnopqrstuvwxyz"

partialOne = ""

partialTwo = ""

newAlphabet = ""

message = input ("Introduïu el missatge que vulgueu traduir:"). inferior ()

key = int (entrada ("Introduïu el número que voleu canviar per:"))

Pas 2: creació del nou alfabet

Creació del nou alfabet
Creació del nou alfabet

Ara per crear l’alfabet canviat. Per fer-ho, utilitzarem el sistema parcial. El sistema parcial és on l'ordinador divideix l'alfabet en dos parcials (una manera fantàstica de dir parts). El primer parcial és tan llarg com heu indicat que el programa passés i el segon és el que queda. L’ordinador canvia els parcials. Això és exactament el que fa el codi, juntament amb la primera afirmació, que diu que si el canvi és 0, el nou alfabet i el vell són els mateixos, ja que no canvieu res.

Per exemple:

Seqüència: 123456789

Primera parcial: 123; Segona part: 456789

Nova seqüència: 456789123

CODI:

if key == 0:

newAlphabet = alfabet

tecla elif> 0:

partialOne = alfabet [: clau]

partialTwo = alfabet [clau:]

alfabet nou = partialTwo + partialOne

en cas contrari:

partialOne = alfabet [:(26 + tecla)]

partialTwo = alfabet [(26 + tecla):]

alfabet nou = partialTwo + partialOne

Pas 3: canvieu el missatge

Canvi del missatge
Canvi del missatge

Ara tenim el nostre alfabet i el nou alfabet. Només queda canviar el missatge al codi.

En primer lloc, establim una nova variable, la cridem "xifrada" i l'establim a "". A continuació, escrivim un bucle for molt complicat que comprova cada lletra del missatge i la canvia a la nova lletra. Surt el resultat i allà el teniu, un codi convertit amb èxit.

CODI:

xifrat = "" per a message_index a l'interval (0, len (missatge)):

si missatge [message_index] == "":

xifrat + = ""

per a alphabet_index a l'interval (0, len (newAlphabet)):

si missatge [message_index] == alfabet [alphabet_index]:

xifrat + = newAlphabet [alphabet_index]

imprimir (xifrat)

Pas 4: addicional

Addicional
Addicional
Addicional
Addicional

S'adjunta el fitxer de codi.

Recomanat: