使用python生成接口加密鉴权sign值的小工具

前言

公司有些接口的入参存在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'))
    # 数据加密
    signValue = md.hexdigest()
    # 把加密的结果,小写转换成大写,upper函数
    signValue = signValue.upper()
    # 打印结果
    print("加密后的sign值为:"+signValue+"\n")

最终实现效果

代码写完后,将py文件打包成exe文件(这个过程自己百度一下,或者看我其他的文章),双击exe文件,效果如下(别忘了电脑上装python)

总结

这里输入的待加密的入参,是不带sign空值的,因为如果带sign入参的话,还要代码里去重sign这个入参(偷个懒,哈哈),然后就是,根据实际的加密场景,改下代码逻辑就可以了,后面如果写的小工具多了,可以再写个前台集成到一起。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值