Django中web开发使用模块itdangerous的实用

本文介绍了如何在Django中利用itdangerous库进行邮箱激活账户时的token加解密操作,包括安装、导入库、加密和解密过程,以及超时设置的相关内容。
摘要由CSDN通过智能技术生成

1、itdangerous配合邮箱激活账户的token加解密处理:

官方文档:
https://itsdangerous.readthedocs.io/en/1.1.x/

安装:
pip install -U itsdangerous

导入:

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

加密:

>>> from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
>>> Serializer('secretkey', 3600)
<itsdangerous.jws.TimedJSONWebSignatureSerializer object at 0x7f7aebd27630>
>>> serializer = Serializer('secretkey', 3600)
>>> info = {'confirm':1}
>>> res = serializer.dumps(info)
>>> res
b'eyJhbGciOiJIUzUxMiIsImlhdCI6MTU2NjI3NDU5MywiZXhwIjoxNTY2Mjc4MTkzfQ.eyJjb25maXJtIjoxfQ.ImKmvQ6VxShkvkbRzuP2czYatnFYyIneCq4yr1RG7IwBHj7NsEWIIIxugS0fy-iMHbFoWBdQuoMfgnQokj0H9w'

解密:

>>> serializer.loads(res)
{'confirm': 1}

超时:

>>> serializer = Serializer('secretkey', 5) # 5秒之后超时
>>> info = {'confirm':2}
>>> res = serializer.dumps(info)
>>> res
b'eyJhbGciOiJIUzUxMiIsImlhdCI6MTU2NjI3NDcxOSwiZXhwIjoxNTY2Mjc0NzI0fQ.eyJjb25maXJtIjoyfQ.2IXwXrhofnEv-K9WfyPY0x7RBkkfb4MOsyNVEfutWxuyzsAtLLuNG-gXSb2I5pWPJAXWevQucJ9ZcyA7OW7tRg'
>>> serializer.loads(res)  # 超时解密报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/toohoo/PycharmProjects/mydailyfresh/venv/lib/python3.6/site-packages/itsdangerous/jws.py", line 205, in loads
    date_signed=self.get_issue_date(header),
itsdangerous.exc.SignatureExpired: Signature expired
>>>     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值