【发布时间】:2016-03-08 15:56:12
【问题描述】:
我有一个文本编辑器程序,我希望它有一个加密选项来加密我编写的加密部分的文本,所以(这是加密的一部分:
key= hashlib.sha256(str.encode(textbox1,"utf-8")).digest()
e = AES.new(key,AES.MODE_EAX)
e1 = AES.new(key,AES.MODE_EAX)
ciphertext = e.encrypt(bytes(text.get(0.1,END),"utf-8"))
s=e1.decrypt(ciphertext)
text.delete(0.0,END)
text.insert(0.0,ciphertext)
print(s.decode())
#how do i convert e1.decrypt(ciphertext) to string that i can put into text later?
如何将 e1.decrypt(ciphertext) 转换为稍后可以放入文本的字符串,或者如何将加密的字节转换为可以保存在文本文件中或在文本小部件中查看的字符串?
编辑:我在 eax 模式下发现了问题,它的 nonce 解密: e1 = AES.new(key,AES.MODE_EAX,e.nonce) 但是我怎样才能以某种方式存储这个 nonce,它会显示它的 tkinter 文本小部件?
【问题讨论】:
-
修复问题中的代码,
s1未使用,s=e1.decrypt(ciphertext)出现两次。s和text是什么? -
Text 是文本小部件(tkinter),感谢您的推荐
-
text.get(0.1,END)、s和s.decode()的值是多少? -
我会修复代码(它也有一些其他问题。谢谢。
标签: python encryption