Python 生成 SHA1和MD5加密数据

2019-10-28  本文已影响0人  Queenie的学习笔记

我们的项目在调用接口时,会需要用到两个参数:token和登录密码,token使用的是SHA1加密,登录密码使用的是md5加密。

一:生成token
import requests
import json
import datetime
import hashlib

#假设我的token生成的规则是:<用户名openid+当前时间年月日时分的字符串,使用sha1加密>
openid = "Zhanjun"
nowTime=datetime.datetime.now().strftime('%Y%m%d%H%M')  #获取当前时间“年月日时分”格式的字符串

tokenstr = openid + nowTime;        #组合字符串

token_bytes = tokenstr.encode("utf-8")  # 在hashlib.sha1(data)函数中,data参数的类型应该是bytes,hash前必须把数据转换成bytes类型,md5同
token_sha1 = hashlib.sha1(token_bytes).hexdigest()  #SHA1加密,生成token值作为全局变量
print("token:",token_sha1)  #打印看看数据是否正确

#最终,token_sha1 就是我要传入url的请求参数params的部分

二:生成MD5加密的登录密码
dlmm_str = openid;  #假设密码同用户名相同
dlmm_bytes = dlmm_str.encode("utf-8")      #将数据转换成bytes类型
dlmm_md5 = hashlib.md5(dlmm_bytes).hexdigest()    #MD5加密
print("dlmm:",dlmm_md5)       #打印看看数据是否正确

#最终,dlmm_md5就是我要传入url的请求参数params的部分
三:通过变量引用到请求网址中
#现在我有两个接口,分别如下
url1 = "https://dev.xxx.com/xxx_api/base/login"  #POST接口
url2 = "https://dev.xxx.com/xxx_api/qyyws/mz_ysgzz_ygjbxx_sel"  #GET接口

param = {"openid":"Zhanjun","token":token_sha1,"sessionId":sessionId}   #GET请求
body = {"dlmc":"Zhanjun","dlmm":dlmm_md5,"mac":"228bf9808"}     #POST请求
header = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"}

res1 = requests.post(url=url1,params=param,data=body,headers=header)
res2 = requests.get(url=url2,params=param,headers=header)
print(res1.url)  #打印第1个请求网址
print(res1.json())   #打印返回内容
print('\n')
print(res2.url)  #打印第2个请求网址

上一篇下一篇

猜你喜欢

热点阅读