Advertisement
AyanUpadhaya

Cryptography in Python Caesar Cipher

Aug 1st, 2021
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. #Caesar Cipher
  2.  
  3. MAX_KEY_SIZE = 26
  4.  
  5. def getMode():
  6.     while True:
  7.         print('Do you wish to encrypt or decrypt a message?')
  8.         mode = input().lower()
  9.         if mode in 'encrypt e decrypt d'.split():
  10.             return mode
  11.         else:
  12.             print("Enter either 'encrypt' or 'e' or 'decrypt' or 'd'")
  13. def getMessage():
  14.     print('Enter your message')
  15.     return input()
  16.  
  17. def getKey():
  18.     key = 0
  19.     while True:
  20.         print('Enter the key number (1-%s)'%(MAX_KEY_SIZE))
  21.         key=int(input())
  22.  
  23.         if key>=1 and key<=MAX_KEY_SIZE:
  24.             return key
  25. def getTranslatedMessage(mode,message,key):
  26.     if mode[0] == 'd':
  27.         key=-key
  28.     translated= ''
  29.  
  30.     for symbol in message:
  31.         if symbol.isalpha():
  32.             num=ord(symbol)
  33.             num+=key
  34.  
  35.             if symbol.isupper():
  36.                 if num>ord('Z'):
  37.                     num-=26
  38.                 elif num<ord('A'):
  39.                     num+=26
  40.             elif symbol.islower():
  41.                 if num>ord('z'):
  42.                     num-=26
  43.                 elif num<ord('a'):
  44.                     num+=26
  45.             translated+=chr(num)
  46.         else:
  47.             translated+=symbol
  48.     return translated
  49.  
  50.  
  51. mode = getMode()
  52. message = getMessage()
  53. key = getKey()
  54.  
  55. print("Your translated text is :")
  56. print(getTranslatedMessage(mode,message,key))
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement