首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用Python生成自己的Fernet键?

如何用Python生成自己的Fernet键?
EN

Stack Overflow用户
提问于 2022-11-16 14:09:17
回答 1查看 32关注 0票数 0

我尝试过这样的方法,但它似乎不起作用:

代码语言:javascript
运行
复制
from cryptography.fernet import Fernet
from base64 import urlsafe_b64encode as b64e
    bytes_gen = b64e(PASSWORD.encode())
    if len(bytes_gen) < 32:
        bytes_gen += b'=' * (32 - len(bytes_gen))
    elif len(bytes_gen) > 32:
        bytes_gen = bytes_gen[:32]
    print(bytes_gen, len(bytes_gen))
    f = Fernet(bytes_gen)

航站楼:

代码语言:javascript
运行
复制
ValueError: Fernet key must be 32 url-safe base64-encoded bytes.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-16 14:42:38

你看错了。密钥是加密密钥,通常大小为16、24或32字节。所以短语"Fernet键必须是32个url安全的base64 64编码字节“。这并不意味着编码需要大小为32个字符,而是意味着需要编码的字节有32个。

不过,您似乎希望使用密码而不是密钥。在这种情况下,您需要读取解释如何使用手册中适当的一节从密码派生密钥的PBKDF2。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74461900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档