fernet 密钥错误 "Fernet key must be 32 url-safe base64-encoded bytes"

fernet key error "Fernet key must be 32 url-safe base64-encoded bytes"

我一直收到此错误,但找不到任何有用的信息。我没有将它存储在一个文件中,而是将它存储在解密代码中,这样一旦它被编译就没有人可以看到它(如果有更好的存储密钥的方法请告诉我)。

这里是错误

get_data = ast.literal_eval(Fernet(Key).decrypt((Message).encode('utf-8')).decode('utf-8'))
  File "C:\Program Files\Python37\lib\site-packages\cryptography\fernet.py", line 38, in __init__
    "Fernet key must be 32 url-safe base64-encoded bytes."
ValueError: Fernet key must be 32 url-safe base64-encoded bytes.

这是我的代码部分

Key = b'pT8ZDjwCvnWkfPEYBm12q2p9srNkM-nWC6Ss9aAcMEw='

我使代码更易于阅读

message_to_decrypt = (message_to_decrypt).encode('utf-8')
ast.literal_eval(Fernet(Key).decrypt(message_to_decrypt ).decode('utf-8'))

试试这个

import base64

key = b'pT8ZDjwCvnWkfPEYBm12q2p9srNkM-nWC6Ss9aAcMEw='

key = base64.urlsafe_b64encode(key)

如果这不起作用,请提供给您错误的示例代码