Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
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
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
Em anexo está o arquivo de código.