Django中的isdangerous的用法

博客主要介绍了itsdangerous包,探讨其解决的问题及使用原因。该包可进行安全的加密解密,有不可逆和可逆两种方式,可逆加密需私钥保证安全。其内部默认用HMAC和SHA1签名,基于Django签名模块,还支持JSON Web签名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、isdangerous包

questions: itsdangerous用来解决什么问题,为什么需要用到itsdangerous?
安全的加密解密:
1、使用没有逆运算的公式,只能加密不能解密。
2、可逆,能加密解密。保证安全性——私钥。

itsdangerous内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。

itsdangerous模块的参考资料链接 https://itsdangerous.readthedocs.io/en/1.1.x/

eg:

from itsdangerous.jws import TimedJSONWebSignatureSerializer
from django.conf import settings

def dumps(json,expires):
    """
    将字典加密,返回加密字符串
    :param json: 字典
    :return: 字符串
    """
    serializer = TimedJSONWebSignatureSerializer(settings.SECRET_KEY,expires)
    json_str = serializer.dumps(json).decode()
    return json_str

def loads(json_str,expires):
    """
    将加密字符串解密
    :param json_str: 加密字符串
    :return: 字典
    """
    serializer = TimedJSONWebSignatureSerializer(settings.SECRET_KEY, expires)
    try:
        json = serializer.loads(json_str)
    except:
        return None
    else:
        return json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值