美文网首页
Python 生成 SHA1和MD5加密数据

Python 生成 SHA1和MD5加密数据

作者: Queenie的学习笔记 | 来源:发表于2019-10-28 09:18 被阅读0次

    我们的项目在调用接口时,会需要用到两个参数: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个请求网址
    
    

    相关文章

      网友评论

          本文标题:Python 生成 SHA1和MD5加密数据

          本文链接:https://www.haomeiwen.com/subject/rwevvctx.html