首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python解密cryptography.fernet.InvalidToken异常

Python解密cryptography.fernet.InvalidToken异常
EN

Stack Overflow用户
提问于 2020-09-15 15:32:17
回答 1查看 33关注 0票数 0

我正面临着解密的问题。我正在传递加密值,面临着解密的问题。请帮我解决这个问题。提前谢谢。

代码:

代码语言:javascript
复制
#!/usr/bin/env/python
from cryptography.fernet import Fernet

def decrypt_message(message):
    print('message recieved',message)
    key=Fernet.generate_key()
    print('key', key)
    f=Fernet(key)
    print(f)
    decrypted_message=f.decrypt(message)
    return decrypted_message

if __name__ == '__main__':
    decrypt_message("gAAAAABfXuoyHoPiHXpRmM6vVslU2B5u7lZ-Q1Q_zC0MbxbQomycVogHJdrkpej16uhX8KxDbvRe66n2Jew7GHS_YukIT0M9ew==")

错误:

代码语言:javascript
复制
root@5CG7242QFY:~# python decrypt.py
('message recieved', 'gAAAAABfXuoyHoPiHXpRmM6vVslU2B5u7lZ-Q1Q_zC0MbxbQomycVogHJdrkpej16uhX8KxDbvRe66n2Jew7GHS_YukIT0M9ew==')
('key', '4k8-dtzXqWSlA3wSfNoSa3UmNmXHBgu-bSbPO3uVfuI=')
<cryptography.fernet.Fernet object at 0x7fc8134b9d50>
Traceback (most recent call last):
  File "decrypt.py", line 14, in <module>
    decrypt_message("gAAAAABfXuoyHoPiHXpRmM6vVslU2B5u7lZ-Q1Q_zC0MbxbQomycVogHJdrkpej16uhX8KxDbvRe66n2Jew7GHS_YukIT0M9ew==")
  File "decrypt.py", line 10, in decrypt_message
    decrypted_message=f.decrypt(message)
  File "/usr/lib/python2.7/dist-packages/cryptography/fernet.py", line 103, in decrypt
    raise InvalidToken
cryptography.fernet.InvalidToken
EN

回答 1

Stack Overflow用户

发布于 2020-09-16 07:29:51

Fernet令牌是对称加密值。这意味着它们只能使用用于加密它们的相同密钥进行解密。在您的示例中,每次调用decrypt_message()时都会生成一个新密钥,然后尝试解密现有的令牌。如果这起作用,那将是一个灾难性的安全问题。

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

https://stackoverflow.com/questions/63897110

复制
相关文章

相似问题

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