首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fernet加密结果因密钥而异。

Fernet加密结果因密钥而异。
EN

Stack Overflow用户
提问于 2022-09-04 11:47:08
回答 1查看 135关注 0票数 0

即使密钥保持不变,Fernet加密令牌也会发生变化。重复执行下面的示例将显示这一点。

代码语言:javascript
复制
from cryptography.fernet import Fernet

f = Fernet(b'vIkpEFEgCEOSQDfr9cTgDJnOFp9b2Wb7MLv55BhFYYY=')
print(f.encrypt(b'my_dark_secret'))

为什么会发生这种情况,我如何确保所产生的令牌保持不变?

EN

回答 1

Stack Overflow用户

发布于 2022-09-04 13:13:45

正如Topcao所指出的,该函数包含一个基于随机+时间的因子。解决方法是使用内部Fernet函数_encrypt_from_parts

代码语言:javascript
复制
from cryptography.fernet import Fernet

f = Fernet(b'vIkpEFEgCEOSQDfr9cTgDJnOFp9b2Wb7MLv55BhFYYY=')

def encrypt(unencrypted_string):
    return f._encrypt_from_parts(unencrypted_string.encode(), 0,b'\xbd\xc0,\x16\x87\xd7G\xb5\xe5\xcc\xdb\xf9\x07\xaf\xa0\xfa')

print(encrypt('my dark secret'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73599108

复制
相关文章

相似问题

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