Guest User

Untitled

a guest
Nov 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #!/bin/python3
  2. #Python Team 5: Crystal Schmidt, Brooke Berbari, Steven Mcferron / 11-6-18 / Caeser Cipher
  3. MAX_KEY_SIZE = 26
  4. print('Welcome to the Caeser Cipher made by Python Team 5!')
  5.  
  6. def getMode():
  7. while True:
  8. print('Do you wish to encrypt, decrypt, or brute force a message?')
  9. mode = input().lower()
  10. if mode in 'encrypt e decrypt d brute b'.split():
  11. return mode [0]
  12. else:
  13. print('Enter either "encrypt" or "e" or "decrypt" or "d" or "brute" or "b".')
  14.  
  15. def getMessage():
  16. print('Enter the message you would like to encrypt/decrypt:')
  17. return input()
  18.  
  19. def getKey():
  20. key = 0
  21. while True:
  22. print('Enter the shift number (1-%s)' % (MAX_KEY_SIZE))
  23. key = int(input())
  24. if (key >= 1 and key <= MAX_KEY_SIZE):
  25. return key
  26.  
  27. def getTranslatedMessage(mode, message, key):
  28. if mode[0] == 'd':
  29. key = -key
  30. translated = ''
  31.  
  32. for symbol in message:
  33. if symbol.isalpha():
  34. num = ord(symbol)
  35. num += key
  36.  
  37. if symbol.isupper():
  38. if num > ord ('Z'):
  39. num -= 26
  40. elif num < ord ('A'):
  41. num += 26
  42. elif symbol.islower():
  43. if num > ord('z'):
  44. num -= 26
  45. elif num < ord ('a'):
  46. num += 26
  47.  
  48. translated += chr(num)
  49. else:
  50. translated += symbol
  51. return translated
  52.  
  53. mode = getMode()
  54. message = getMessage()
  55. if mode[0] != 'b':
  56. key = getKey()
  57.  
  58. print('Your translated text is:')
  59. if mode[0] != 'b':
  60. print(getTranslatedMessage(mode, message, key))
  61. else:
  62. for key in range(1, MAX_KEY_SIZE + 1):
  63. print(key, getTranslatedMessage('decrypt', message, key))
Add Comment
Please, Sign In to add comment