Advertisement
MyriadCx

Python Task 2 Single Keyword Encryption

Jun 29th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. def getMode():
  2.     while True:
  3.         print("Do you wish to encrypt[1] or decrypt[2]")
  4.         mode = input("Please enter '1' or '2': ")
  5.         if mode == '1' or mode == '2':
  6.             return mode
  7.         else:
  8.             print("Invalid")
  9.        
  10.  
  11.  
  12.  
  13. def getMessage():
  14.     message = input("message: ")
  15.     print("Message accepted")
  16.     return message
  17.  
  18.  
  19.  
  20. def keyword():
  21.     while True:
  22.         keyword = input("Keyword: ")
  23.         check = keyword.isalpha()
  24.         if check == True:
  25.             print("Keyword accepted!")
  26.             return keyword
  27.         else:
  28.             print("Keyword invalid, try again")
  29.  
  30.  
  31. def makeList():
  32.     counter = 0
  33.     for char in keyword:
  34.         letter = keyword[counter]
  35.         letterList.append(letter)
  36.         counter += 1
  37.     return letterList
  38.  
  39. def crypt():
  40.     newMessage = ''
  41.     counter = 0
  42.     for char in message:
  43.         if char.isalpha():
  44.             num = ord(char)
  45.             num2 = ord(letterList[counter])
  46.             if mode == '1':
  47.                 newNum = num + num2 - 64
  48.             elif mode == '2':
  49.                 newNum = num - num2 + 64
  50.             while newNum > ord('Z'):
  51.                 newNum -= 26
  52.             while newNum < ord('A'):
  53.                 newNum += 26
  54.             newChar = chr(newNum)
  55.             newMessage += newChar
  56.             counter += 1
  57.             if counter >= length:
  58.                 counter = 0
  59.             else:
  60.                 counter = counter
  61.         else:
  62.             newMessage += char
  63.     return newMessage
  64.  
  65.    
  66. mode = getMode()
  67. message = getMessage()
  68. message = message.upper()
  69. keyword = keyword()
  70. length = len(keyword)
  71. letterList = []
  72.  
  73. letterList = makeList()
  74. newMessage = crypt()
  75. print("Your new message is", newMessage)
  76. input("Press enter to end program")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement