美文网首页
Web API08-python中的md5加密

Web API08-python中的md5加密

作者: 筱媛媛 | 来源:发表于2019-07-11 20:06 被阅读0次

    接口测试为了数据传输的安全性防止数据泄露,做接口自动化的时候接口文档经常会使用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()
    

    相关文章

      网友评论

          本文标题:Web API08-python中的md5加密

          本文链接:https://www.haomeiwen.com/subject/bswihctx.html