cryptic-cypher-machine


SUBMITTED BY: okpalan86

DATE: March 1, 2024, 3:01 p.m.

UPDATED: March 1, 2024, 3:12 p.m.

FORMAT: Python 3

SIZE: 1.3 kB

HITS: 474

  1. class CrypticStateMachine:
  2. def __init__(self):
  3. pass
  4. def encrypt(self, message, shift):
  5. encrypted_message = ""
  6. for char in message:
  7. if char.isalpha():
  8. ascii_offset = ord('a') if char.islower() else ord('A')
  9. encrypted_message += chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
  10. else:
  11. encrypted_message += char
  12. return encrypted_message
  13. def decrypt(self, encrypted_message, shift):
  14. decrypted_message = ""
  15. for char in encrypted_message:
  16. if char.isalpha():
  17. ascii_offset = ord('a') if char.islower() else ord('A')
  18. decrypted_message += chr((ord(char) - ascii_offset - shift) % 26 + ascii_offset)
  19. else:
  20. decrypted_message += char
  21. return decrypted_message
  22. def all_encryptions(self, message):
  23. for shift in range(26):
  24. yield self.encrypt(message, shift)
  25. # Usage
  26. cryptic_state_machine = CrypticStateMachine()
  27. message = "I never said she stole my money"
  28. all_encrypted_messages = list(cryptic_state_machine.all_encryptions(message))
  29. for i, encrypted_message in enumerate(all_encrypted_messages):
  30. print(f"Shift {i}: {encrypted_message}")

comments powered by Disqus