我有一个包含以下文字的文字文件:
this is my secret message
我写了一个小的python代码来读取该文件并使用Crypto.Cipher
from Crypto.Cipher import DES
f = open('message.txt','rb')
text = f.read()
f.close()
iv = Random.get_random_bytes(8)
des1 = DES.new('01234567', DES.MODE_CFB, iv)
secret = des1.encrypt(text)
print("Encrypted text: " + secret)
加密文字:Å..GH.ÿì.Vs~ö。〜.wôÇ.k5â
然后我将输出字符串保存到文本文件中:
w = open('encrypted.txt','wb')
w.write(secret)
w.close()
然后我尝试打开相同的加密文件并将内容解密回原始消息:
d = open('encrypted.txt','rb')
secret = d.read()
d.close()
text = des1.decrypt(secret)
print("decreypted text is: " + text)
解密文本是:óF2â。} 1秘密消息
加密部分工作很奇怪。我的印象是你要么加密会产生完整的原始信息,要么会产生一个难以理解的乱码文本。但是从来没有想到过这两者的混合。
我做错了什么?
*编辑:我编辑了我的问题:我总是读二进制文件并写二进制文件。当我读/写二进制时,半解密输出发生。当我不读二进制时,输出完全是胡言乱语。