一、什么是验签:
用非常简单的话来描述:有一个发送消息的端 A 有一个接收消息的端B ,以及A发给B的信息 msg,发送过程要进行签名(类似于对数据加密成一个sign)
A对发送的msg进行加密签名,随请求发送一个sign
B接收消息,要对sign进行验签,检测消息发送端以及来源是否安全与正确。
注意:sign的生成跟发送的信息有关,且有专门的加密算法。
二、情景再现:
1)加密的算法如下所示(Python代码):
2)请求的数据如下所示:
3)随请求发送的请求头如下(sign表示这里需要传递签名后的数据):
4)要求以及说明:
请求传递的数据param以及利用md5Encode函数对参数进行加密生成的sign的字段顺序要一模一样
难点在于:param是一个字典,无法保证它的顺序
解题思路:对字典param进行排序,使之成为有序的字典形式
三、解决难题&