如何利用 Python 完成验签操作

本文介绍了如何使用Python进行验签操作,详细讲解了验签的原理和步骤,包括使用特定加密算法对消息进行签名,处理字典排序问题,以及如何将签名整合到请求头中。通过示例代码,展示了如何利用OrderedDict和md5加密函数解决字典排序问题,成功发起带有签名的请求。
摘要由CSDN通过智能技术生成

一、什么是验签:
用非常简单的话来描述:有一个发送消息的端 A 有一个接收消息的端B ,以及A发给B的信息 msg,发送过程要进行签名(类似于对数据加密成一个sign)
A对发送的msg进行加密签名,随请求发送一个sign
B接收消息,要对sign进行验签,检测消息发送端以及来源是否安全与正确。
注意:sign的生成跟发送的信息有关,且有专门的加密算法。

二、情景再现:
1)加密的算法如下所示(Python代码):
在这里插入图片描述
2)请求的数据如下所示:
在这里插入图片描述
3)随请求发送的请求头如下(sign表示这里需要传递签名后的数据):
在这里插入图片描述
4)要求以及说明:

请求传递的数据param以及利用md5Encode函数对参数进行加密生成的sign的字段顺序要一模一样
难点在于:param是一个字典,无法保证它的顺序
解题思路:对字典param进行排序,使之成为有序的字典形式
三、解决难题&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值