random1111.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import base64
  2. import hashlib
  3. import os
  4. import random
  5. import time
  6. # import rsa as rsa
  7. import yaml
  8. # from common.encrypt import genRat
  9. from common.request_util import *
  10. from common.yaml_util import read_yaml
  11. class DubugTalk:
  12. # 获得随机数
  13. def get_random_number(self, min, max):
  14. return str(random.randint(int(min), int(max)))
  15. def get_random_string(self):
  16. return str(random.randint(1000000, 9999999)) + str(random.randint(1000000, 9999999)) + "30p9sifjve41"
  17. def read_yaml(self, key):
  18. return read_yaml(key)
  19. # Md5加密
  20. def md5(self, args):
  21. # 以指定的编码格式编码字符串
  22. utf8_str = str(args).encode("utf-8")
  23. # MD5加密(哈稀算法)
  24. md5_str = hashlib.md5(utf8_str).hexdigest()
  25. return md5_str.upper()
  26. # base64加密
  27. def bs64(self, args):
  28. # 以指定的编码格式编码字符串
  29. utf8_str = str(args).encode("utf-8")
  30. # base64加密
  31. ba64_str = base64.b64encode(utf8_str).decode('utf-8')
  32. return ba64_str.upper()
  33. # RSA双钥加密
  34. # # 生成公钥私钥到指定文件
  35. # def create_key(self):
  36. # # 根据密钥长度生成公钥私钥
  37. # (public_key, private_key) = rsa.newkeys(1024)
  38. # # 报存公钥
  39. # with open("public.pem", "w+") as f:
  40. # f.write(public_key.save_pkcs1().decode())
  41. # # 报存私钥
  42. # with open("private.pem", "w+") as f:
  43. # f.write(private_key.save_pkcs1().decode())
  44. # 通过公钥加密
  45. # def public_key_jiami(self, args):
  46. # # 导入密钥
  47. # with open("public.pem") as f:
  48. # pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())
  49. # # 加密
  50. # byte_str = rsa.encrypt(str(args).encode("utf-8"), pubkey)
  51. # # 把二进制转化成字符串格式
  52. # miwen = base64.b64encode(byte_str).decode("utf-8")
  53. # return miwen
  54. # 通过私钥解密
  55. # def private_key_jiemi(self,args):
  56. # with open("private.pem") as f:
  57. # prikey = rsa.PrivateKey.load_pkcs1(f.read().encode())
  58. # # 把字符串转换二进制
  59. # byte_key = base64.b64decode(args)
  60. # #解密
  61. # mingwen = rsa.decrypt(byte_key, prikey).decode()
  62. # return mingwen
  63. # singe签名
  64. def singes(self, yaml_path):
  65. last_url = ""
  66. last_data = {}
  67. with open(os.getcwd() + yaml_path, encoding="utf-8") as f:
  68. yaml_value = yaml.load(f, Loader=yaml.FullLoader)
  69. for caseinfo in yaml_value:
  70. # print(caseinfo)
  71. caseinfo_keys = caseinfo.keys()
  72. # 判断一级关键字是否存在:name,request,validate
  73. if "request" in caseinfo_keys:
  74. # 判断url
  75. if "url" in caseinfo['request'].keys():
  76. last_url = caseinfo['request']['url']
  77. print(caseinfo['request']['url'])
  78. # 判断参数
  79. req = caseinfo['request']
  80. for key, value in req.items():
  81. if key in ["params", "data", "json"]:
  82. for p_key, p_value in req[key].items():
  83. last_data[p_key] = p_value
  84. last_url = last_url[last_url.index("?") + 1:len(last_url)]
  85. # 把url字典格式加入到last_data字典格式里面
  86. lis = last_url.split("&")
  87. print(lis)
  88. for a in lis:
  89. last_data[a[0:a.index('=')]] = a[a.index('=') + 1:len(a)]
  90. from common.request_util import RequestUtil
  91. # last_data = RequestUtil(self).replace_value(last_data)
  92. print(last_data)
  93. def genRat(self, url: str):
  94. return genRat(url, 10231)