前言
公司有些接口的入参存在sign鉴权验证,但是这个验证的逻辑,如果开发不给你写工具,那么就没法去做接口验证了,所以这时,就需要自己写一个sign值加密的小工具(前提是需要向对应的开发人员要一下加密的逻辑),以此为背景,我研究了一下,自己大概写了一个demo,后面有需要的话,可以改下加密的逻辑,直接使用了。
代码
我写的这个demo,是入参经过排序,再和自定义的keyString进行拼接,然后用md5加密,这个加密逻辑要根据实际接口对应的加密逻辑来设计,我这里只是举个例子
拼接
import hashlib
import json
keyString="192006250b4c09247ec02edce69f6a2d"
while True:
data01=input("请输入入参:\n")
# print(type(data01))
# 为了将输入的str转为字典dict类型
dic01 = json.loads(data01)
# print(dic01)
print(type(dic01))
list=[]
stringA=""
# 将字典中的值依次取出,放到列表中
for key in dic01.keys():
list.append(key)
# 对列表的对象进行排序,默认升序,即按照ASCII码从小到大排序
list.sort()
# 将排序后的列表中的每个值拼接
for i in list:
stringA += i + "=" + dic01[i] + "&"
# 参数拼接成需要加密的字符串
stringA += "key" + "=" + keyString
print("拼接后的加密字符串为:"+stringA+"\n")
# 创建对象md
md = hashlib.md5()
# 对stringA字符串进行编码
md.update(stringA.encode('utf-8'))

文章介绍了一种在没有开发提供工具的情况下,如何使用Python自行编写一个简单的sign值加密工具。通过接收用户输入的接口参数,进行排序、拼接,然后结合MD5加密算法生成加密串。代码示例展示了具体实现过程,适用于需要自定义加密逻辑的场景。
最低0.47元/天 解锁文章
388

被折叠的 条评论
为什么被折叠?



