文件加密和解密

时间:2015-10-26 23:49:25

标签: python encryption python-3.4

所以我需要这个赋值的伪代码,我不知道从哪里开始。我不是想让你们离开,我只想指点一下从哪里开始!

编写一个程序,使用字典为字母表中的每个字母分配“代码”。

例如:

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

使用此示例,字母A将被分配符号%,字母a将被分配号码9,字母B将被分配符号@,依此类推。

程序应打开指定的文本文件,读取其内容,然后使用字典将文件内容的加密版本写入第二个文件。第二个文件中的每个字符都应包含第一个文件中相应字符的代码。

编写第二个打开加密文件的程序,并在屏幕上显示其解密的内容。

4 个答案:

答案 0 :(得分:2)

伪代码

  1. 打开指定的文本文件

  2. 阅读其内容

  3. 然后使用字典将文件内容的加密版本写入第二个文件。

  4. 第二个程序

    1. 打开加密文件

    2. 在屏幕上显示解密的内容。

答案 1 :(得分:1)

这很简单,很难不只是给代码。使用str.translate。它需要dict映射输入到输出。因此,在文本读取模式下打开一个文件,在文本写入中打开另一个文件,在输入文件中读取(以块或全部一次),在其上调用.translate(codes)并写出翻译结果。

答案 2 :(得分:0)

大多数情况下,当我编写代码时,我会首先评论它需要做什么。因此,对于你来做这项任务你应该只考虑你要做什么而不是你将如何去做。

你已经写下了问题中的一些内容,所以你只需要继续做你开始做的事情。

举个例子:

打开一个文件 一次读一行 处理行并转换每个字符...

答案 3 :(得分: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='')