zoukankan      html  css  js  c++  java
  • Python-MD5加密算法接口测试

    前言

    在之前的Python系列的随笔中,我跟小伙伴们讲述了Python-AES加密算法接口测试Python-SHA256加密算法接口测试,今天我们来学习一下登录密码是md5加密的情况下,该如何使用python进行接口测试。

    一:先来看一下python是如何把字符串加密成MD5字符串的

    import hashlib #导入导入模块hashlib
    def MD5_demo(str):
        md= hashlib.md5()# 创建md5对象
        md.update(str.encode(encoding='utf-8'))
        return md.hexdigest()
    
    if __name__=="__main__":
        # 待加密信息
        str = 'abcd123456'
        md5_str = MD5_demo(str)
        print('加密后为 :' + md5_str)
    

    MD5加密后的结果显示:

    注:

    • hexdigest()在英语中hex有十六进制的意思,因此该方法是返回摘要,作为十六进制数据字符串值
    • update(str.encode(encoding='utf-8'))这个函数里面需要对字符串进行编码,否则会报TypeError: Unicode-objects must be encoded before hashing

    二:下面以禅道登录接口为本次练习(禅道登录密码是MD5加密的)

    通过fiddler抓包发现,禅道登录的密码是加密处理的:

    Python代码如下:

    import requests
    import hashlib
    def MD5_login(str):
        zt_pwd = hashlib.md5()
        zt_pwd.update(str.encode(encoding='utf-8'))
        return zt_pwd.hexdigest()
    password = 'zhang123456' #登陆的用户密码=='123456'
    url = 'http://10.80.136.16/zentao/user-login-L3plbnRhby9teS5odG1s.html '
    data = {'account':'zhangwuxaun','password':MD5_login(password),'referer':'/zentao/'}
    response = requests.post(url,data=data) # 发送post请求
    print(response.content.decode('utf-8'))
    

    返回的结果:

  • 相关阅读:
    java基础篇6之代理
    JavaWeb 过滤器应用之页面静态化
    JavaWeb 之过滤器
    JavaWeb 之监听器
    分页
    Linux 入门
    多条件组合查询
    Service 事务(JdbcUtils 升级)
    BaseServlet 介绍
    dbUtils 工具类介绍
  • 原文地址:https://www.cnblogs.com/zhangwuxuan/p/12909348.html
Copyright © 2011-2022 走看看