"""Cifra de Cesar para criptografar/descriptografar senhas.""" import sys def caesar_encrypt(text: str, shift: int) -> str: result = [] for char in text: if char.isalpha(): base = ord("A") if char.isupper() else ord("a") result.append(chr((ord(char) - base + shift) % 26 + base)) elif char.isdigit(): result.append(str((int(char) + shift) % 10)) else: result.append(char) return "".join(result) def caesar_decrypt(text: str, shift: int) -> str: return caesar_encrypt(text, -shift) if __name__ == "__main__": if len(sys.argv) < 4: print("Uso: python cezar.py [texto2 ...]") print("Exemplo: python cezar.py encript 12 minha_senha outra_senha") sys.exit(1) modo = sys.argv[1].lower() shift = int(sys.argv[2]) textos = sys.argv[3:] if modo == "encript": for i, texto in enumerate(textos, start=1): print(f"texto_criptografado{i}: {caesar_encrypt(texto, shift)}") elif modo == "decript": for i, texto in enumerate(textos, start=1): print(f"texto_descriptografado{i}: {caesar_decrypt(texto, shift)}") else: print("Modo inválido. Use 'encript' ou 'decript'.") sys.exit(1)