博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Md5
阅读量:7099 次
发布时间:2019-06-28

本文共 1153 字,大约阅读时间需要 3 分钟。

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

询问开发得知加密规则:密码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()

 

转载于:https://www.cnblogs.com/dieyaxianju/p/9548969.html

你可能感兴趣的文章
28 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)...
查看>>
MHA切换过程:
查看>>
HanLP汉语言分析框架
查看>>
SQLite 日期操作
查看>>
热词分享
查看>>
phpcms相关
查看>>
thinkphp空控制器的处理
查看>>
Unity优化----drawcall系列
查看>>
[转]Windows Server 2012体验之部署第一台域控制器
查看>>
ubuntu 安装 php curl
查看>>
软件包管理 之 关于Fedora Core 5.0 通过Yum在线升级说明
查看>>
Log4j使用指南
查看>>
Overview of package util.concurrent Release 1.3.4.
查看>>
C# 反射(Reflection)技术
查看>>
C# 字符串操作基本过程(Equals、Compare、EndsWith等处理方法)
查看>>
黑马程序员-关于C语言的指针一些小知识点
查看>>
实现类似街旁网的分享足迹功能
查看>>
Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
查看>>
版本升级demo(thread+service+Notification)
查看>>
zookeeper
查看>>