2015-10-26 4 views
-1

Так что мне нужен псевдокод для этого задания, и я понятия не имею, с чего начать. Я не пытаюсь смутить вас, ребята, мне просто хотелось бы узнать, с чего начать!Шифрование и дешифрование файлов

Напишите программу, которая использует словарь для присвоения «кодов» каждой букве алфавита.

Например:

codes = { 'A' : '%', 'a' : '9', 'B' : '@', 'b' : '#', etc...} 

Используя этот пример, письмо A будет присвоен символ %, буква a будет назначена номер 9, буква B будет назначена символ @ и т.д. вперед.

Программа должна открыть указанный текстовый файл, прочитать его содержимое, а затем использовать словарь для записи зашифрованной версии содержимого файла во второй файл. Каждый символ во втором файле должен содержать код для соответствующего символа в первом файле.

Напишите вторую программу, которая откроет зашифрованный файл и отобразит его расшифрованное содержимое на экране.

+2

вы знаете, что псевдо-код означает? –

+0

Да, я уже писал псевдо-код, но это задание меня сбивает с толку. –

+0

http://stackoverflow.com/help/on-topic см. Букву 3. Мы не будем помогать в вопросах домашних заданий, когда не будет продемонстрировано никаких усилий. Попробуйте выполнить задание; использовать документы python для словарей и файл i/o; вернитесь, когда у вас есть минимальный, проверенный пример того, где вы застряли, и отредактируйте этот вопрос. Это происходит не потому, что мы думаем, что вы «выкапываетесь», или потому, что любая сторона ленива - это продвигать более качественные примеры Q & A на SO, которые будут иметь смысл для будущих посетителей. – Hypaethral

ответ

2

Псевдокод

  1. открыть указанный текстовый файл

  2. читать его содержимое

  3. затем использовать словарь, чтобы написать зашифрованную версию содержимого файла во второй файл.

Вторая программа

  1. открыть зашифрованный файл

  2. отображать его расшифрованные содержимое на экране.

+1

gribbler снова побеждает (imho как минимум) –

0

Большую часть времени, когда я пишу код, я начинаю с комментариев о том, что нужно делать. Поэтому для того, чтобы выполнить это задание, вы должны просто подумать о том, что вам нужно сделать, а не о том, как вы это сделаете.

Вы уже записали часть своего вопроса, поэтому вам просто нужно продолжать делать то, что вы начали.

В качестве примера:

Открыть файл считывает строку в технологической линии времени и преобразовывать каждый символ ...

1

Это так просто, что трудно не только дать код. Используйте str.translate. Он принимает входные данные для отображения dict. Поэтому откройте один файл в режиме чтения текста, другой для текстовой записи, прочитайте во входном файле (либо в блоках, либо сразу), вызовите на него .translate(codes) и запишите результат перевода.

0

Это старый пост, но это сработало для меня. Чтобы зашифровать:

encryption_library = {'A':'!','B':'@','C':'#','D':'$','E':'%','F':'^','G':'&','H':'*','I':'(', 
         'J':')','K':'-','L':'_','M':'+','N':'=','O':'`','P':'~','Q':'{','R':'[', 
         'S':'}','T':']','U':':','V':';','W':'"','X':'<','Y':'>','Z':'0','a':'1', 
         'b':'2','c':'3','d':'4','e':'5','f':'6','g':'7','h':'8','i':'9','j':'a', 
         'k':'b','l':'c','m':'d','n':'e','o':'f','p':'g','q':'h','r':'i','s':'j', 
         't':'k','u':'l','v':'m','w':'n','x':'o','y':'p','z':'q'} 

orig_file = open('Plain_Text_File.txt','r') 
file_read = orig_file.read()  
orig_file.close() 
encrypt_file = open('ENCRYPTED_Plain_Text_File.txt','w') 

for ch in file_read: 
    if ch in encryption_library: 
     encrypt_file.write(encryption_library[ch]) 
    else: 
     encrypt_file.write(ch) 

encrypt_file.close() 
encrypt_file = open('Plain_Text_File.txt','r') 
file_read = encrypt_file.read() 
encrypt_file.close() 
codes_items = encryption_library.items() 

for ch in file_read: 
    if not ch in encryption_library.values() or ch == '.' or ch == ',' or ch == '!': 
     print(ch) 
    else: 
     for k,v in codes_items: 
      if ch == v and ch != '.': 
       print(k,end='') 

Для расшифровки:

decryption_library = {'!':'A','@':'B','#':'C','$':'D','%':'E','^':'F','&':'G','*':'H','(':'I', 
         ')':'J','-':'K','_':'L','+':'M','=':'N','`':'O','~':'P','{':'Q','[':'R', 
         '}':'S',']':'T',':':'U',';':'V','"':'W','<':'X','>':'Y','0':'Z','1':'a', 
         '2':'b','3':'c','4':'d','5':'e','6':'f','7':'g','8':'h','9':'i','a':'j', 
         'b':'k','c':'l','d':'m','e':'n','f':'o','g':'p','h':'q','i':'r','j':'s', 
         'k':'t','l':'u','m':'v','n':'w','o':'x','p':'y','q':'z'} 

orig_file = open('ENCRYPTED_Plain_Text_File.txt','r') 
file_read = orig_file.read() 
orig_file.close() 
encrypt_file = open('DECRYPTED_Plain_Text_File.txt','w') 

for ch in file_read: 
    if ch in decryption_library: 
     encrypt_file.write(decryption_library[ch]) 
    else: 
     encrypt_file.write(ch) 

encrypt_file.close() 
encrypt_file = open('ENCRYPTED_Plain_Text_File.txt','r') 
file_read = encrypt_file.read() 
encrypt_file.close()  
codes_items = decryption_library.items() 

for ch in file_read: 
    if not ch in decryption_library.values() or ch == '.' or ch == ',' or ch == '!': 
     print(ch) 
    else: 
     for k,v in codes_items: 
      if ch == v and ch != '.': 
       print(k,end='')