对一个字符串拼接时间,然后对其进行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 验证通过