在用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完成加密算法

python的md5和base64加密的更多相关文章

  1. hashlib —— Python 的 md5 和 sha1 加密

    python的md5和sha1加密 0. md5 与 sha1 MD5 的全称是 Message-Digest Algorithm 5(信息-摘要算法).128 位长度.目前 MD5 是一种不可逆算法 ...

  2. Js中 md5 sha1 base64 加密

    js的3中加密方式: .sha1加密,加密性高 调用: var sha = hex_sha1(str); .base64加密 调用: var b = new Base64(); var str = b ...

  3. python 中md5 和 sha1 加密, md5 + os.urandom 生成全局唯一ID

    首先先来介绍一下md5 和 sha1 的概念 MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法).128位长度.目前MD5是一种不可逆算法. 具有很高的安全性 ...

  4. md5和base64加密解密

    import java.io.IOException; import java.security.MessageDigest; import sun.misc.BASE64Encoder; impor ...

  5. ruby md5 sha1 base64加密

    #md5加密 require 'md5' puts MD5.hexdigest('admin') #sha1加密 require 'digest/sha1' puts Digest::SHA1.hex ...

  6. python之MD5、base64\base32解密

    # -*- coding:utf-8 -*- import hashlib import base64 # 求最大公约数gys # def gys(m, n): # c = 1 # while(c ! ...

  7. vue项目用sha256、md5、base64加密密码

    无论你开发什么样的项目,你可能都会要开发登录.注册.修改密码.忘记密码这些功能,少数项目除外!!要实现这些功能,对于保护用户或者管理员账号密码,这是我们程序员肯定要做的事情.要是用户密码不加密,用明文 ...

  8. python中常用的base64 md5 aes des crc32等的加密解密

    1.base64 Python内置的base64模块可以实现base64.base32.base16.base85.urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形 ...

  9. python接口自动化测试二十七:加密与解密MD5、base64

    # MD5加密 # 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作 import hashlib def MD5(str): # 创建md5对象 hl ...

随机推荐

  1. hdu 4460spfa用map来实现

    #include<stdio.h> #include<string.h>   #include <iostream> #include <algorithm& ...

  2. vue验证码点击更新

    vue验证码点击更新 不说啥,直接贴代码 html: <img class="captcha" @click="editCaptcha" :src=&qu ...

  3. NodeJS+MongoDB+AngularJS+Bootstrap书店示例

    目录 一.Bootstrap 1.1.添加引用 1.2.在页面中使用BootStrap 1.3.可视化布局 二.使用MongoDB创建数据库 2.1.启动MongoDB数据库 2.2.启动数据库GUI ...

  4. tomcat的安装和使用

    1.下载最新的tomcat:https://tomcat.apache.org/download-90.cgi 最新版本9.0.2属于beta版本,就没有必要尝鲜踩坑了 使用8.5.24的稳定版本的二 ...

  5. 如何用grep命令同时显示“匹配行”上下的n行?

    如何用grep命令同时显示匹配行上下的n行   标准unix/linux下的grep通过以下参数控制上下文 grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行gre ...

  6. SQL 视图(Views)

    SQL 视图(Views) 视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列 ...

  7. Mybatis加入Ehcache支持

    1.Mybatis默认的缓存配置 MyBatis 包括一个很强大的查询缓存特性,它能够很方便地配置和定制. Mybatis缓存包括全局的缓存和局部的缓存.全局的缓存能够讲主配置文件的setting属性 ...

  8. CF 234 C Weather(粗暴方法)

    C. Color Stripe time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  9. C语言的结构体和 C++结构体的区别

     C语言的结构体和 C++结构体的区别 关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不 ...

  10. python 深浅复制与指针内存

    Python是一门非常好的语言,他的长处在于拥有巨大灵活性的同一时候也拥有无比的严谨性,其它语言规定了非常多语法.告诉你什么情况下,语法就是这种,而Python却用非常少的规定,延伸出非常多语法,有些 ...