【问题标题】:pycrytodome how convert to string the encrypted and decrypted textpycrytodome 如何将加密和解密的文本转换为字符串
【发布时间】: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) 出现两次。 stext 是什么?
  • Text 是文本小部件(tkinter),感谢您的推荐
  • text.get(0.1,END)ss.decode()的值是多少?
  • 我会修复代码(它也有一些其他问题。谢谢。

标签: python encryption


【解决方案1】:

通常不可能将加密字节转换为字符串,因为加密会产生非字符字节。通常如果需要可打印的字符串表示,则使用 Base64 或十六进制。

【讨论】:

  • 感谢您的回答。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 2012-07-01
相关资源
最近更新 更多