接口测试为了数据传输的安全性防止数据泄露,做接口自动化的时候接口文档经常会使用md5加密。本篇文章将对“python中的md5加密”进行讲解,希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
01:md5加密(Message-Digest Algorithm 5)
1)基本概述:用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一。又称摘要算法、哈希算法。
2)表现方式:通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用一个32位的16进制字符串表示)
3)特点:
①压缩性:任意长度的数据,算出的MD5值长度都是固定的。
②容易计算:从原数据计算出MD5值很容易。
③抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
④强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是很困难的4)注意事项:md5算法是不可逆的
02:获取时间
1)获取当前时间的时间戳:time.time(1970纪元后经过的浮点秒数)
2)获取当前日期和时间:now_time = datetime.datetime.now()
3)格式化日期:strftime()
import time,datetime
#当前时间的时间戳
modify_time=time.time()
#当前日期和时间
now_time = datetime.datetime.now()
#格式化日期
time=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
03:md5加密实例化
sign计算方式:sign = Md5 (key + supplierNo + interfaceType + orderNo)
import hashlib
import datetime,random,string
# 待加密信息
key='123456'
supplierNo='axcx'
interfaceType='proposalOrder'
orderNo= ''.join(random.sample(string.ascii_letters+string.digits, 15))
# 创建md5对象
m=hashlib.md5()
#添加要加密的字符串,此处必须声明encode
m.update(f'{key}{supplierNo}{interfaceType}{orderNo}'.encode('UTF-8'))
#md5加密
md5value=m.hexdigest()