python的md5和base64加密

在用jmeter测试接口时,有的请求参数会加密,例如,回流接口:http://ip:port/oms-gateway-datareflow-mq/orderReflow/tmsPracticeActionFeedback,它有两个请求参数logistics_interface和data_digest,data_digest是将logistics_interface先用

md5加密后,得到16位的字符串,再将16位字符串进行base64加密。

先在验证java的md5和base64加密结果是否和python加密结果一致

以字符串aaa进行md5和base64加密为例

aaa-java加密的结果:

aaa-python加密:

import hashlib
import base64

md5 = hashlib.md5()
md5.update('aaa'.encode('utf-8'))
print(u"aaa16位md5加密结果:%s"% md5.hexdigest()[8:-8])
print(u"aaa32位md5加密结果:%s"% md5.hexdigest())

print(u"aaa16位md5加密结果再进行base64加密:%s" % base64.b64encode(md5.hexdigest()[8:-8]))
print(u"aaa32位md5加密结果再进行base64加密:%s" % base64.b64encode(md5.hexdigest()))

 结果:

D:\Python27\python.exe F:/各种appium开源框架/practice.py
aaa16位md5加密结果:4f589f4867dbd57e
aaa32位md5加密结果:47bce5c74f589f4867dbd57e9ca9f808
aaa16位md5加密结果再进行base64加密:NGY1ODlmNDg2N2RiZDU3ZQ==
aaa32位md5加密结果再进行base64加密:NDdiY2U1Yzc0ZjU4OWY0ODY3ZGJkNTdlOWNhOWY4MDg=

Process finished with exit code 0

 

所以java和python的md5和base64的加密结果都是一致的,以后有接口请求加密,也用python完成加密算法

 

posted @ 2017-08-17 15:54  悠然现南山  阅读(1071)  评论(0编辑  收藏  举报