class Caesar:
def __init__(self):
self.__letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def encrypt(self, texto_plano, key = 3):
'''(Caesar, 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]
return cipher_text
def decrypt(self, texto_cifrado, key = 3):
''' (Caesar, 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]
return plain_text.lower()