Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Criptografia - Cifra de César em Python
- Artigo no LinkedIn:
- https://www.linkedin.com/pulse/criptografia-cifra-de-césar-em-python-diego-mendes-rodrigues/
- Curso de Python 3:
- https://produto.mercadolivre.com.br/MLB-991504015-curso-de-python-3-_JM
- Diego Mendes Rodrigues
- '''
- class Cesar:
- def __init__(self):
- self.__letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- def encrypt(self, texto_plano, key = 3):
- '''(Cesar, str, int) -> str
- Retorna o texto_plano cifrado com a cifra de Cesar,
- utlizando a chave key, cujo padrao e 3.
- '''
- cipher_text = ''
- texto_plano = texto_plano.upper()
- for ch in texto_plano:
- if ch in self.__letters:
- idx = self.__letters.find(ch) + key
- if idx >= 26:
- idx -= 26
- cipher_text += self.__letters[idx]
- else:
- cipher_text += ch
- return cipher_text
- def decrypt(self, texto_cifrado, key = 3):
- ''' (Cesar, str, int) -> str
- Retorna em texto plano o texto_cifrado decifrado com a
- cifra de Cesar, utilizando a chave key, cujo padrao e 3.
- '''
- plain_text = ''
- texto_cifrado = texto_cifrado.upper()
- for ch in texto_cifrado:
- if ch in self.__letters:
- idx = self.__letters.find(ch) - key
- plain_text += self.__letters[idx]
- else:
- plain_text += ch
- return plain_text.lower()
- # Usando a chave de César = 3
- print('Chave de César = 3')
- criptografado = Cesar().encrypt('teste de texto com a cifra de Cesar')
- print(criptografado)
- decriptado = Cesar().decrypt(criptografado)
- print(decriptado)
- # Usando a chave de César = 17
- print('\nChave de César = 17')
- criptografado = Cesar().encrypt('teste de texto com a cifra de Cesar', 17)
- print(criptografado)
- decriptado = Cesar().decrypt(criptografado, 17)
- print(decriptado)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement