zoukankan      html  css  js  c++  java
  • Python做加密接口的测试方法【多测师】

    加密接口怎么测试?

    (1)写个函数或者方法,把要加密的参数使用这个函数过滤一遍,等于就是说把数据丢进去,加密了之后,再通过这个加密好的
    数据传输过去就可以了!!
    (2)至于用什么加密算法,这个要根据产品和自己的业务场景和需求不管是AES或者公钥私钥也好看自己的选择
    (3)也可能是编码的问题,就直接用base64码把需要传输加密的东西通过base64返回base64码,然后再放进去,然后再进行传输
    (4)这是编码不是加密,真的要加密的话,首先把要用的参数加好密之后再被传输出去,传输的过程中把传输的数据进行一次加密和封装之后再发送过去
    (5)用jmeter做接口测试用post-processor加beanshell进行加密解密,再从日志中查找参数,然后具体的加密算法要看需求
    (6)每个测试工具提供的加密算法是不一样的,工具不一样加密算法也是不一样的
    (7)如果不用工具的话应该怎么做?==》看如下的代码

    #coding=utf-8
    """
    ===========================
    Author:多测师_王sir
    Time:2020/6/2 10:12
    Wechat:15367499889
    Company:上海多测师信息有限公司
    ===========================
    """
    
    import requests
    import hashlib
    import json
    
    # 组建接口
    # 第一步:拿到接口入参==》2个参数
    # data  必须参数,对应的值是正常传递的参数组装成json字符串,组装的json字符串里面必须包含appId,
    # sign  必须参数,对应得值是data值得md5值。
    BASE_URL = 'http://118.24.XXX.XXX:8080/api/login?'
    appId=4001
    code='033qdUtz0LcJsc19tZxz09cTtz0qdUt6'
    app_secret_key='dc6e426478b2d29a8e1ad70eb48660f4'
    
    
    # 第二步:组装data参数
    data={"appId":4001,"code":"033qdUtz0LcJsc19tZxz09cTtz0qdUt6"}
    # a = str(data)
    # print a
    # b = '{'+a[45:58] + ','+a[1:43]+'}'
    # print b
    
    # 第三步:组装加密字符串拿到sign签名
    value = 'data={"appId":4001,"code":"033qdUtz0LcJsc19tZxz09cTtz0qdUt6"}&key=dc6e426478b2d29a8e1ad70eb48660f4'
    md5 = hashlib.md5()
    md5.update(value)
    sign = md5.hexdigest()
    print sign
    
    # 第四步:发送接口请求
    dic = {"data":'{"appId":4001,"code":"033qdUtz0LcJsc19tZxz09cTtz0qdUt6"}',"sign":sign}
    params = {
        "code":'033qdUtz0LcJsc19tZxz09cTtz0qdUt6',
        "params":json.dumps(dic)
    }
    response = requests.get(url=BASE_URL,params=params)
    print response.text
    print response.url

    接口返回结果:
    {"data":"b363e1c071d84757bf164121bad91ede","statusCode":"200"}
  • 相关阅读:
    搜索
    c++ map与unordered_map区别及使用
    01BFS
    宇智波程序笔记55-Flutter 混合开发】嵌入原生View-iOS
    宇智波程序笔记54-解Bug之路-记一次线上请求偶尔变慢的排查
    宇智波程序笔记53-从红黑树的本质出发,彻底理解红黑树!
    宇智波程序笔记52-最受欢迎的微服务框架概览
    宇智波程序笔记51-JDK 15安装及新特性介绍
    宇智波程序笔记50-解Bug之路-记一次线上请求偶尔变慢的排查
    宇智波程序笔记49-link JDBC Connector:Flink 与数据库集成最佳实践
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/13030277.html
Copyright © 2011-2022 走看看