Introdução
Neste projeto, você aprenderá como implementar um algoritmo simples de criptografia e descriptografia chamado "Clear Code Encryption". Este método de criptografia foi usado no sistema de comunicação telegráfica inicial da China durante o final da Dinastia Qing.
👀 Pré-visualização
## Exemplo 1
numb = 1530; encryption_text = "0383"
## Exemplo 2
numb = 0; encryption_text = "9853"
## Exemplo 3
numb = 12345; encryption_text = None
🎯 Tarefas
Neste projeto, você aprenderá:
- Como entender o método de criptografia e seus princípios subjacentes
- Como implementar a função
plain_code_encryption(numb)para realizar a criptografia - Como testar a função de criptografia com várias entradas
- Como lidar com a entrada do usuário e chamar a função de criptografia
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Explicar o método "Clear Code Encryption" e seu contexto histórico
- Implementar um algoritmo básico de criptografia e descriptografia usando Python
- Testar e validar a função de criptografia com diferentes cenários de entrada
- Integrar a entrada e saída do usuário no script de criptografia
Entenda o Método de Criptografia
Nesta etapa, você aprenderá sobre o método de criptografia usado no projeto "Clear Code Encryption".
O método de criptografia funciona da seguinte forma:
- Os quatro dígitos do código claro são adicionados, respectivamente, aos quatro dígitos da chave de criptografia.
- Para cada adição de dígito, se a soma for maior ou igual a 10, omita 10 e mantenha apenas o dígito na casa das unidades.
- Ao descriptografar, use a senha subtraída pelos quatro dígitos da chave de descriptografia para obter o código claro e encontrar o texto correspondente.
Por exemplo, digamos que o código claro seja 1530 e a chave de criptografia seja 9853.
- Adicionando o primeiro dígito: 1 + 9 = 10, trate 10 como 0.
- Adicionando o segundo dígito: 5 + 8 = 13, omita 10 e mantenha 3.
- Adicionando o terceiro dígito: 3 + 5 = 8.
- Adicionando o quarto dígito (10 + 3 = 13, omita 10 e mantenha 3).
O texto criptografado final é "0383".
Implemente a Função plain_code_encryption(numb)
Nesta etapa, você implementará a função plain_code_encryption(numb) no arquivo plain_code.py.
- Abra o arquivo
plain_code.pyno seu editor de código. - Localize a função
plain_code_encryption(numb). - Implemente a função para realizar as seguintes tarefas:
- Insira um número arbitrário entre 0 e 9999 (incluindo 0 e 9999), adicione 9853 a ele e obtenha um número de 4 dígitos (no formato
str) após a adição, e retorne-o. - Se o número de entrada tiver menos de 4 dígitos, preencha as posições ausentes com 0. Por exemplo, se o número de entrada for 32, ele precisa ser tratado como 0032.
- Adicione os números na mesma posição. Se a soma for maior ou igual a 10, omita 10 e mantenha apenas o dígito na casa das unidades.
- Se o número de entrada não estiver entre 0 e 9999, retorne
None.
- Insira um número arbitrário entre 0 e 9999 (incluindo 0 e 9999), adicione 9853 a ele e obtenha um número de 4 dígitos (no formato
Aqui está o código completo para a função plain_code_encryption(numb):
def plain_code_encryption(numb: int) -> str:
if numb < 0 or numb > 9999:
return None
numb_str = str(numb).zfill(4)
key_str = "9853"
encryption_text = "".join(
str((int(n) + int(k)) % 10) for n, k in zip(numb_str, key_str)
)
return encryption_text
Teste a Função plain_code_encryption(numb)
Nesta etapa, você testará a função plain_code_encryption(numb) com os exemplos fornecidos.
- Abra o arquivo
plain_code.pyno seu editor de código. - Adicione o seguinte código no final do arquivo:
if __name__ == "__main__":
print(plain_code_encryption(1530)) ## Output: "0383"
print(plain_code_encryption(0)) ## Output: "9853"
print(plain_code_encryption(12345)) ## Output: None
- Salve o arquivo e execute o script usando o comando
python3 plain_code.py. - Verifique se a saída corresponde aos resultados esperados.
Gerenciar a Entrada do Usuário
Nesta etapa, você modificará o script para aceitar a entrada do usuário e chamar a função plain_code_encryption(numb) com o número fornecido pelo usuário.
- Abra o arquivo
plain_code.pyno seu editor de código. - Localize o código que você adicionou na etapa anterior e substitua-o pelo seguinte:
if __name__ == "__main__":
txt = int(input())
print(plain_code_encryption(txt))
- Salve o arquivo e execute o script usando o comando
python3 plain_code.py. - Quando solicitado, insira um número entre 0 e 9999, e o script imprimirá o texto criptografado.
Parabéns! Você concluiu o projeto "Criptografia de Código Claro". Você aprendeu como implementar o método de criptografia e testá-lo com várias entradas.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



