pycrytodome如何将加密和解密的文本转换为字符串

时间:2016-03-08 15:56:13

标签: python encryption

我有文本编辑器程序,我希望它有一个加密选项来加密我编写加密部分的文本(这是加密的一部分:

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(密文)转换为以后可以放入文本的字符串,或者如何将加密的字节转换为可以保存在文本文件中的字符串或在文本小部件中查看?

编辑:我在eax模式下发现了解密的问题: e1 = AES.new(key,AES.MODE_EAX,e.nonce) 但是我怎么能以某种方式存储这个nonce,它会显示它会显示tkinter文本小部件?

1 个答案:

答案 0 :(得分:0)

通常无法将加密字节转换为字符串,因为加密会产生非字符字节。通常,如果需要可打印的字符串表示,则使用Base64或hexadedcimal。