2016-11-16 8 views
0

私は、「プログラムがメッセージを暗号化するために使用する8つのキーの文字キーを生成するプログラムの部分を開発する」というのは非常に混乱しています。私たちは暗号化プログラムを作成しようとしています。私がこれまで持っているコード:今何をする必要がありますか?

ファイル

def fileopen(): 
    filename=input('What is the name of the file: ') 

    with open(filename) as yarr: 
     contents=yarr.read() 
     return contents 

メニュー

print ("Hello, welcome to the encryption/decryption program") 
print ("1 - Encryption") 
print ("2 - Decryption") 
print ("3 - Exit") 
choice=input ("Enter a Number") 
while True: 
    if choice=="1": 
     print("Encryption Selected") 
     filecontents=fileopen() 
     print(filecontents) 
     break 

    elif choice=="2": 
     print("Decryption Selected") 
     break 

    elif choice=="3": 
     print("Thank you, come again") 
     break 

    else: 
     choice=input("Incorrect number") 
     continue 
+0

私も混乱しています。 「8文字キー」とは何ですか?おそらく「8文字のキー」(つまり8文字のランダムな文字列)を意味しましたか? –

答えて

0

シーザー暗号を使用してみてください。

これはそれのための私のソースです:

シーザー暗号のような

MAX_KEY_SIZE = 26 

def getMode(): 
    while True: 
     print('Do you wish to encrypt or decrypt or brute force a message?') 
     mode = input().lower() 
     if mode in 'encrypt e decrypt d brute b'.split(): 
      return mode 
     else: 
      print('Enter either "encrypt" or "e" or "decrypt" or "d" or "brute" or "b".') 

def getMessage(): 
    print('Enter your message:') 
    return input() 

def getKey(): 
    key = 0 
    while True: 
     print('Enter the key number (1-%s)' % (MAX_KEY_SIZE)) 
     key = int(input()) 
     if (key >= 1 and key <= MAX_KEY_SIZE): 
      return key 

def getTranslatedMessage(mode, message, key): 
    if mode[0] == 'd': 
     key = -key 
    translated = '' 

    for symbol in message: 
     if symbol.isalpha(): 
      num = ord(symbol) 
      num += key 

      if symbol.isupper(): 
       if num > ord('Z'): 
        num -= 26 
       elif num < ord('A'): 
        num += 26 
      elif symbol.islower(): 
       if num > ord('z'): 
        num -= 26 
       elif num < ord('a'): 
        num += 26 

      translated += chr(num) 
     else: 
      translated += symbol 
    return translated 

mode = getMode() 
message = getMessage() 
if mode[0] != 'b': 
    key = getKey() 
print ('Your translated text is:') 
if mode[0] != 'b': 
    print(getTranslatedMessage(mode,message,key)) 
else: 
    for key in range(1, MAX_KEY_SIZE + 1): 
     print(key,getTranslatedMessage('decrypt',message,key)) 
key = getKey() 

print('Your translated text is:') 
print(getTranslatedMessage(mode, message, key)) 

作品:

まずあなたがテキストを復号化または暗号化する場合(ライトEまたはDを押して入力して定義します)。次にあなたのメッセージを入力し、enterで確定してください。次に、番号を入力して、メッセージの復号化を行うときに覚えておいてください。次にenterキーを押すと、暗号化/復号化されたメッセージが表示されます。

質問の名前を変更し、if文で入力フィールドを追加するだけで、テキストファイルも変換できます。

・ホープこのことができます:)

関連する問題