Python环境下接口测试加密鉴权的解决办法

最近工作中在测试WebApi的时候遇到了鉴权,验证的场景,涉及到获取token,加密验签等问题。

主要使用python的Hashlib库和request库,前者可以处理信息加密和摘要,后者完成Http收发。

首先介绍一下这段时间学习下来自己对于加密加签的理解:
对称加密(AES):用同一段密文进行加密解密,得到相同的值
非对称加密(RSA):双方各执一对密钥,私钥和公钥,然后双方互换公钥:本地留存客户端私钥和服务器公钥,服务器留存服务器私钥和客户端公钥,发送时使用私钥加密,接收方用发送方的公钥解密,返回报文使用接收方私钥加密,发送方收到后使用接收方的公钥解密。此类加密方式多用于验签。

在此总结一下几个常用请求参数的生成代码:

一. Nonce&Uuid生成

由于两者生成方法近似,故放在一起说,
Nonce:number once,即只被使用一次的随机整数。
Uuid:Universally Unique Identifier,全局唯一标识符
两者都是随机数,但是用处不同。

import hashlib
def getNonce():
	#根据当前时间生成随机戳
    md5str = hashlib.md5()
    md5str.update((str(int(time.time() * 1000)) + str(random.random)).encode())
    nonce = md5str.hexdigest()
    return nonce
def getRandomUuid(length):
	#生成指定长度的UUID,也可以使用randomuuid库生成
    i = 0
    charList = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    uuid = ""
    while(i<length):
        uuid += charList[random.randint(0,61)]
        i += 1
    return uuid
二.MD5生成

MD5: MessageDigest 消息摘要

md5 = hashlib.md5()
md5.update(####KEY####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值