正如标题所说,在我解密我的加密信息并将其转换为字符串后,它什么也不包含。如果我在把它转换成字符串之前把它打印到控制台上,它只会显示“b”,我相信这是用来把字节转换成字符串的,但我不知道它为什么在那里。但如果它被打印到控制台后,它变成了一个字符串,它不会打印任何东西。你知道吗
import tkinter
from cryptography.fernet import Fernet
class Cryptography:
def encrypt(self, string):
key = Fernet.generate_key()
self.f = Fernet(key)
byteString = str.encode(string)
self.token = self.f.encrypt(byteString)
w.insert(tkinter.INSERT, self.token.decode() + "\n")
w.pack()
def decrypt(self):
global token
try:
decrypted = self.f.decrypt(self.token)
except (NameError, AttributeError):
w.insert(tkinter.INSERT, "you didn't yet encrypt anything\n")
w.pack()
decrypted = self.f.decrypt(self.token)
print(decrypted)
dsAsString = decrypted.decode("utf-8")
print("/n" + dsAsString)
w.insert(tkinter.INSERT, dsAsString + "\n")
w.pack()
嗯,我刚发现问题。基本上我用的是tkinter.入口()并希望使用其中所写的内容作为要加密的文本。因此,我对输入字段运行了.get(),但这超出了函数的范围,因此当输入字段中没有任何内容时,它会将字符串赋值为e.get(),因为它是在加载其他内容时加载的。所以是的。这个问题超出了问题中显示的代码范围,因此它对其他人有效,但对我无效。TL;DR字符串变量为空。你知道吗
相关问题 更多 >
编程相关推荐