前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2022年01月 Python教学课程 54-itsdangerous加解密库的使用

【愚公系列】2022年01月 Python教学课程 54-itsdangerous加解密库的使用

作者头像
愚公搬代码
发布2022-12-01 10:09:11
2540
发布2022-12-01 10:09:11
举报
文章被收录于专栏:历史专栏

文章目录


前言

JWS 也就是 Json Web Signature,是构造 JWT 的基础结构(JWT 其实涵盖了 JWS 和 JWE 两类,其中 JWT 的载荷还可以是嵌套的 JWT),包括三部分 JOSE Header、JWS Payload、JWS Signature。

一、itsdangerous是什么?

itsdangerous内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。这个库采用BSD协议,由Armin Ronacher编写,而大部分设计与实现的版权归Simon Willison和其他的把这个库变为现实的Django爱好者们。

二、使用步骤

1.安装

代码语言:javascript
复制
pip install itsdangerous

2.加密

代码语言:javascript
复制
######################itsdangerous的使用 加密########################################

# 1.导入
from meiduo_mall import settings
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
#2.创建实例对象
s = Serializer(secret_key=settings.SECRET_KEY,expires_in=3600)
#3.组织要加密的数据
data = {
    'openid':'1234'
}
#4.加密
mdata=s.dumps(data).decode()
#b'eyJleHAiOjE1NjA3NDkyNzQsImlhdCI6MTU2MDc0NTY3NCwiYWxnIjoiSFM1MTIifQ.
# eyJvcGVuaWQiOiIxMjM0In0.
# 8s2iWVMNU2gIh-d7lksVCqqzAyc3Mz3-eEdMtzlo9SOXAYV2hqssM3uGfLz0rLEfRwORjwC92ejl2eTHzNbGDQ'

# json.dumps  将字典转换为字符串
# json.loads  将字符串转换为字典

3.解密

代码语言:javascript
复制
###########################itsdangerous的使用 解密#####################################


# 解密所需要的秘钥 和时间是一样的
# 1.导入
from meiduo_mall import settings
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
#2.创建实例对象
s = Serializer(secret_key=settings.SECRET_KEY,expires_in=3600)

#3.解密
s.loads(mdata)
#{'openid': '1234'}

总结

1.签名和验签

  1. 发送方 先用一种摘要算法吧报文变成摘要
  2. 再用私钥把这段摘要加密变成签名
  3. 再把这个签名和报文一起发送
  4. 接收方用公钥对签名段进行解密, 得到一段摘要A
  5. 接收方用同样的摘要算法吧报文变成摘要B
  6. 吧A和B进行比较, 一样就说明没有经过篡改

2.加密和解密

  1. 发送方把一段明文用公钥进行加密
  2. 然后发送
  3. 接收方用私钥进行解密

3.区别

  • 签名/验签: 用私钥进行加密(签名), 用公钥进行解密
  • 加解密: 用私钥进行解密, 用公钥进行加密
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、itsdangerous是什么?
  • 二、使用步骤
    • 1.安装
      • 2.加密
        • 3.解密
        • 总结
          • 1.签名和验签
            • 2.加密和解密
              • 3.区别
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档