Índice:

Programa Caesar Cipher em Python: 4 etapas
Programa Caesar Cipher em Python: 4 etapas

Vídeo: Programa Caesar Cipher em Python: 4 etapas

Vídeo: Programa Caesar Cipher em Python: 4 etapas
Vídeo: Caesar Cipher Program in Python | Encryption and Decryption With Caesar Cipher 2024, Novembro
Anonim
Programa Caesar Cipher em Python
Programa Caesar Cipher em Python

A Cifra de César é uma cifra antiga e amplamente usada que é fácil de criptografar e descriptografar. Ele funciona mudando as letras do alfabeto para criar um alfabeto inteiramente novo (ABCDEF poderia mudar mais de 4 letras e se tornaria EFGHIJ).

Cifras Caesar não são as cifras mais seguras que existem, mas são boas para pequenas tarefas, como passar notas secretas ou criar senhas um pouco mais fortes. É realmente fácil decifrar o código, mas pode ser entediante criptografá-lo se você não tiver o alfabeto especial memorizado.

Para facilitar esse processo, podemos usar o poder dos computadores, mais especificamente a linguagem de programação Python.

Este Instructable mostrará como criar um programa que converte mensagens em uma cifra ao seu comando.

Suprimentos

Tudo que você precisa é de um interpretador Python: IDLE, Pycharm e Thonny são algumas opções boas e gratuitas (eu usei Pycharm)

Conhecimento básico de Python

Etapa 1: Declarando Variáveis e Obtendo Entradas

Declaração de variáveis e obtenção de entradas
Declaração de variáveis e obtenção de entradas

Para realmente armazenar os valores de string (texto) do alfabeto, mensagem, deslocamento, etc., precisamos usar variáveis. Começamos declarando as variáveis 'alphabet', 'partialOne', 'partialTwo' e 'newAlphabet'. Eu escrevi os nomes das variáveis em Camel Case em meu código (a primeira palavra é minúscula e a segunda maiúscula), mas você pode escrever da maneira que quiser, contanto que se lembre de alterá-la no resto do código também. A variável do alfabeto possui o valor "abcdefghijklmnopqrstuvwxyz". Todas as outras variáveis são definidas como "", que é uma string vazia, pois ainda não temos seus valores.

O que isso está fazendo é configurar o sistema parcial, que é o que estamos usando para realmente criar a mudança. Isso será explicado em uma etapa posterior.

Depois disso, temos que obter a mensagem e o valor de deslocamento do usuário. Usamos a função de entrada para fazer isso. Esta parte do código pede ao usuário uma mensagem e um número para mudar o alfabeto.

CÓDIGO:

alfabeto = "abcdefghijklmnopqrstuvwxyz"

parcialOne = ""

parcialTwo = ""

newAlphabet = ""

message = input ("Por favor, digite a mensagem que deseja traduzir:").lower ()

key = int (input ("Por favor, digite o número que você deseja mudar por:"))

Etapa 2: Criando o Novo Alfabeto

Criando o Novo Alfabeto
Criando o Novo Alfabeto

Agora, para criar o alfabeto alterado. Para fazer isso, usaremos o sistema parcial. O sistema parcial é onde o computador divide o alfabeto em dois parciais (uma maneira elegante de dizer as partes). A primeira parcial é o tempo que você disse ao programa para mudar, e a segunda é o restante. O computador troca os parciais. Isso é exatamente o que o código está fazendo, junto com a primeira instrução, que diz que se a mudança for 0, o novo e o antigo alfabeto são os mesmos, já que você não está trocando nada.

Por exemplo:

Sequência - 123456789

Parcial Um - 123; Parcial Dois - 456789

Nova Sequência - 456789123

CÓDIGO:

se chave == 0:

newAlphabet = alphabet

chave elif> 0:

parcialOne = alfabeto [: tecla]

parcialTwo = alfabeto [tecla:]

newAlphabet = partialTwo + partialOne

outro:

parcialOne = alfabeto [:(26 + tecla)]

parcialTwo = alfabeto [(26 + tecla):]

newAlphabet = partialTwo + partialOne

Etapa 3: Mudando a mensagem

Mudando a Mensagem
Mudando a Mensagem

Agora temos nosso alfabeto e o novo alfabeto. Tudo o que resta é mudar a mensagem para o código.

Primeiro, definimos uma nova variável e a chamamos de 'criptografada' e a definimos como "". Em seguida, escrevemos um loop for realmente complicado que verifica cada letra da mensagem e a troca para a nova letra. Ele produz o resultado e aí está, um código convertido com sucesso!

CÓDIGO:

criptografado = "" para message_index no intervalo (0, len (mensagem)):

se mensagem [message_index] == "":

criptografado + = ""

para alphabet_index in range (0, len (newAlphabet)):

if message [message_index] == alphabet [alphabet_index]:

criptografado + = newAlphabet [alphabet_index]

imprimir (criptografado)

Etapa 4: Adicional

Adicional
Adicional
Adicional
Adicional

Em anexo está o arquivo de código.

Recomendado: