zoukankan      html  css  js  c++  java
  • Md5

    使用场景:项目中接口测试登录接口原先是明文密码登录,改版后需要用加密密码

    询问开发得知加密规则:密码MD5加密加上时间戳整型,然后对MD5加密加上时间戳整型再进行一次加密

    自己写的代码:

        timeT = int(time.time())#获取时间戳的10位整数
        md5 = hashlib.md5()
        md5.update(password.encode(encoding='UTF-8'))
        pwd = md5.hexdigest()
        b = pwd.upper()+str(timeT) #这里由于系统对密码大小写敏感,所以需要先转换为大写再拼接
    
        md5 = hashlib.md5() #需要再次实例,否则就是对上一个字符串的叠加 具体见https://blog.csdn.net/moxiajuzi/article/details/53040845
        md5.update(b.encode(encoding='UTF-8'))
        a= md5.hexdigest()
        newpwd = a.upper()#这里由于系统对密码大小写敏感,所以需要先转换为大写
    
        loginData = {
            "Name": username,
            "Password": newpwd,
            "isWeekPassword":0,
            "timestamp":timeT
        }

    优化后代码:

     timestamp = int(time.time())
        newPassword = MD5(MD5(password) + str(timestamp))#  MD5见下面toos封装代码
    
        loginData = {
            "name": username,
            "password": newPassword,
            "timestamp": timestamp,
            "isWeekPassword": 0
        }

    在工具tools下封装

    def MD5(Str):
        """
        根据传入的string生成对应的MD5加密字符
        :param Str: 
        :return: 
        """
        md5 = hashlib.md5()
        md5.update(Str.encode(encoding = 'UTF-8'))
    
        md5Result = md5.hexdigest()
    
        return md5Result.upper()
  • 相关阅读:
    tinyxml2使用
    使用libcurl作为Http client
    编译Thrift支持golang
    使用vue初体验之app实现后 小总结
    手机端屏幕自适应(三) 淘宝网适配方案
    手机端屏幕自适应(二)
    手机端的屏幕自适应(一)
    vue directive具体的使用方法
    vue生命周期之我见
    vue-router api学习
  • 原文地址:https://www.cnblogs.com/dieyaxianju/p/9548969.html
Copyright © 2011-2022 走看看