[英]Python Fernet TypeError: token must be bytes
在這里,我嘗試將新行插入數據庫中的表中。
def insert_record():
values = input('Enter values ').replace(' ', '').split(sep=',')
values[-1] = f"{f.encrypt(values[-1].encode())}"
c.execute("INSERT INTO credentials VALUES (?, ?, ?)", values)
conn.commit()
conn.close()
我加密最后一個參數values[-1]
因為它將是一個密碼。 當我嘗試解密它時
for item in values:
print(f.decrypt(item[-1]))
我得到:
Traceback (most recent call last):
TypeError: token must be bytes
我嘗試了很多東西,但我已經被困了幾個小時。 我無法擺脫錯誤。
請通過在字符串中添加b將類型從字符串轉換為字節。 看看下面的例子:
>>> from cryptography.fernet import Fernet
>>> key = Fernet.generate_key()
>>> f = Fernet(key)
>>> token = f.encrypt(b"my deep dark secret")
>>> token
b'...'
>>> f.decrypt(token)
b'my deep dark secret'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.