我正在用Python编写一个简单的密码程序(Python的新版本,甚至是加密的新版本),用户帐户和密码保存在字典中的文件中。我正在用Fernet模块加密密码。添加用户可以很好地工作,但是当我试图解密密码时,会出现cryptography.fernet.InvalidToken错误,所以问题应该出在密钥上,尽管我看不出我在这里做错了什么。
代码段:def generate_master_key():
my_key_file = "/path/to/passwordfile"
if os.path.exists(my_key_file):
with open(my_key_file, 'rb') as myfile:
master_key = myfile.read()
else:
master_key = Fernet.generate_key()
with open(my_key_file, 'wb') as myfile:
myfile.write(master_key)
return master_key
del master_key
PASSWORDS = json.load(open('accounts'))
key = generate_master_key()
cipher_suite = Fernet(key)
def encrypt(s):
return cipher_suite.encrypt(base64.encodestring(bytes(s, encoding="ascii")))
def decrypt(token):
r