zoukankan      html  css  js  c++  java
  • 根据签名规则,加密URL

    from urllib import parse
    url='http://www.baidu.com?query=python基础教程'
    url_str=parse.quote_plus(url)#URL编码
    baidu_url='http%3A%2F%2Fwww.baidu.com%3Fquery%3Dpython%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B'
    # print(parse.unquote_plus(baidu_url))#URL解码
    import hashlib
    def my_md5(s):
    md=hashlib.md5()#实例化md5
    md.update(s.encode())#
    return md.hexdigest()
    #vendorId=1697&posCode=pos006&ip=127.0.0.1&posVersion=2.1.1.1.1&mac=;D4-81-D7-CA-20-29;7C-67-A2-9A-06-05;7C-67-A2-9A-06-06;7C-67-A2-9A-06-09;00-00-00-00-00-0000E0

    def get_vendorId(req_data):
    data_dic={}
    sub_list=req_data.split('&')
    for i in sub_list:
    k,v=i.split('=')
    # data_dic.setdefault(k,v)
    data_dic[k]=v
    return data_dic.get('vendorId')
    def sign(req_date):
    verid=get_vendorId(req_date)#d调用获取vendorId函数
    first=my_md5(verid)
    astr=my_md5(first)
    url_str=parse.quote_plus(req_date)#url编码
    res=my_md5(astr+url_str)
    return res


    class Sign(object):
    def __init__(self,req_data):
    self.req_data=req_data#这写了self的话,在其他的函数里面也可以用self.xxx
    self.get_verid()
    self.get_sign()
    def md5(self,s):
    md = hashlib.md5() # 实例化md5
    md.update(s.encode())
    return md.hexdigest()
    def get_verid(self):
    data_dic = {}
    sub_list = self.req_data.split('&')
    for i in sub_list:
    k, v = i.split('=')
    # data_dic.setdefault(k,v)
    data_dic[k] = v
    self.verid=data_dic.get('vendorId')
    def get_sign(self):
    # self.get_verid()
    frist=self.md5(self.verid)
    astr=self.md5(frist)
    url_str=parse.quote_plus(self.req_data)
    self.sign=self.md5(astr+url_str)
    return self.sign
    print(__name__)
    if __name__ == '__main__':
    s = 'vendorId=1697&posCode=pos006&ip=127.0.0.1&posVersion=2.1.1.1.1&mac=;D4-81-D7-CA-20-29;7C-67-A2-9A-06-05;7C-67-A2-9A-06-06;7C-67-A2-9A-06-09;00-00-00-00-00-0000E0'
    abc=Sign(s)
    # abc.get_sign()#方法
    print(abc.sign)#打印它的变量
  • 相关阅读:
    Redis学习笔记——环境搭建
    SQL 记录
    路径“D:svn.....”的访问被拒绝问题处理
    去除浏览器自动给input赋值的问题
    获取用户IP
    JS对身份证号码进行验证方法
    JS 实现倒计时
    SQL 游标
    .net上传图片实例
    生成唯一码
  • 原文地址:https://www.cnblogs.com/irisx/p/9063419.html
Copyright © 2011-2022 走看看