正如标题所述,在我解密我的加密信息并将其转换为字符串后,它不包含任何内容。如果我在将其转换为字符串之前将其打印到控制台,它只会显示“ 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()
答案 0 :(得分:0)
欢迎,我刚刚发现了问题。基本上,我使用的是tkinter.Entry(),并希望使用其中写入的内容作为要加密的文本。这样,我为输入字段运行了.get(),但这在函数之外,因此当输入字段中没有任何内容时,它将字符串分配为e.get(),因为它在加载其他所有内容时都已加载。是的问题不在问题中显示的代码之外,因此它对其他人有效,但对我不起作用。 TL; DR字符串变量为空。