编辑后如何正确编写文件

时间:2010-01-30 21:11:42

标签: python encryption

说我加密.doc(或任何其他类型)文件,我稍后解密。但是,我无法打开它,因为在解密过程中,[null]和[DC1]以及其他突出显示的字符未被放回到文件中,因为它们不是ASCII字符的一部分。他们如何在压缩/加密/编辑/等的其他程序中编写?

我在python中这样做,所以通常,没有编辑,我可以这样做:

file1 = open(file,'rb').read()
file2 = open(new_file,'wb')
file2.write(file1)

但如果我加密和解密

,这不起作用

2 个答案:

答案 0 :(得分:4)

Nulls和DC1等等是绝对的ASCII字符集的一部分,所以我不知道你在谈论什么。因此,例如,考虑......:

>>> import pyDes
>>> f = open('afile', 'w')
>>> f.write('Nel mezzo del cammin di nostra vita\n')
>>> f.close()
>>> data = open('afile').read()
>>> encrypted = pyDes.des('mysecret').encrypt(data, padmode=pyDes.PAD_PKCS5)
>>> f = open('encryp', 'wb')
>>> f.write(encrypted)
>>> f.close()
>>> encdata = open('encryp', 'rb').read()
>>> decrypted = pyDes.des('mysecret').decrypt(encdata)
>>> decrypted
'Nel mezzo del cammin di nostra vita\n\x04\x04\x04\x04'

无论你使用的是什么加密(pyDes或其他),这不是你声称不工作的那种......?!

如果您希望获得帮助来诊断代码中的错误,那么您最好发布错误的代码,而不是仅提供足够信息来理解您的错误的通用描述。

答案 1 :(得分:1)

您使用什么加密?
正确的加密也会加密非ascii字符,以便以后可以正确解密