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()