繁体   English   中英

fe.net 密钥错误“Fe.net 密钥必须是 32 个 url 安全的 base64 编码字节”

[英]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)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM