kyelu 2020-06-02
加密接口怎么测试?
(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"}