对一个字符串拼接时间,然后对其进行md5加密:

import hashlib,time
a='123absg'
b=time.time()
c='%s|%s'%(a,b)
print(c)
m=hashlib.md5() #调用hashlib里的md5()生成一个md5 hash对象
m.update(bytes(c,encoding='utf8'))#用update方法对字符串进行md5加密的更新处理


result=m.hexdigest()#得出加密后的十六进制结果
print(result)
******结果*******
123absg|1557794075.2372932
be13e9d76970d3bfd7240a597f1e9c56

假设客户端和服务端都知道字符串a,客户端对加密后的结果加时间b再进行一次字符串拼接,客户端将拼接后的结果传递给服务端。服务端将拿到的拼接后的字符串进行split操作,分别得出result和时间b,服务端再将已知字符串a和时间b进行拼接,然后进行md5加密。得出的结果和result进行对比。如果相同说明验证通过!

#客户端
res='%s|%s'%(result,b)
print(res)
#服务端
get_result,get_time=res.split('|')
print(get_result)
print(b)
d='%s|%s'%(a,get_time)# 服务端将a和拿到的get_time进行拼接
n=hashlib.md5()
n.update(bytes(d,encoding='utf8'))#对拼接后的结果进行md5加密
s_result=m.hexdigest()#得出加密后的结果
print(s_result)
if s_result==get_result: #对比客户端传递过来的结果和服务端拼接加密后的结果进行比对
    print('验证通过')
*****结果*******
a9c3cf547b5fad3fbb2a56914b992743
1557794687.2906811
123absg|1557794687.2906811
a9c3cf547b5fad3fbb2a56914b992743
验证通过

 

posted on 2019-05-14 08:49  赏孤舟蓑笠  阅读(741)  评论(0编辑  收藏  举报