python 代码实现MD5加密+Base64编码【工作经验笔记】

本文介绍了一种接口测试中涉及的数据加密方法,包括MD5加密及Base64编码的应用。通过具体实例展示了如何对字符串、文件(如图片)进行加密处理,并提供了可直接使用的代码片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做接口测试,遇到比较麻烦的接口

1、某一字段要将【文件进行MD5加密】传入
2、某一字段要将【字符串加密并转化为16位数据】传入
3、某一字段要将【图片转化为Base64】传入

好在网上东拼西凑找了很多方法总算是解决了【嘻嘻】
开篇文章备忘+分享一下代码 ,可以全代码复制直接替换即可使用哦



一、简单的MD5加密【打印结果为32位小写数据】


'''先导入 MD5 加密模块'''
from hashlib import md5

'''params 传入需要加密的参数【整段代码复制,只需要修改params参数值即可】'''
params = "044695"

def Md5(params):
	m = md5()
	m.update(params.encode('utf8'))
	sign1 = m.hexdigest()
	return sign1

print(MD5(params))

二、特殊需求的MD5加密【四种数据返回】


'''先导入加密所需模块'''
import hashlib

# params 传入需要加密的参数【整段代码复制,只需要修改params参数值即可】
params = "123456"

def md5value(params):
    input_name = hashlib.md5()
    input_name.update(params.encode("utf-8"))
    print("大写的32位:" + (input_name.hexdigest()).upper())
    print("大写的16位:" + (input_name.hexdigest())[8:-8].upper())
    print("小写的32位:" + (input_name.hexdigest()).lower())
    print("小写的16位:" + (input_name.hexdigest())[8:-8].lower())

md5value(params)

'''以下为打印结果,选择需要的格式即可'''
'''
大写的32位:E10ADC3949BA59ABBE56E057F20F883E
大写的16位:49BA59ABBE56E057
小写的32位:e10adc3949ba59abbe56e057f20f883e
小写的16位:49ba59abbe56e057
'''

三、将文件进行MD5加密【四种数据返回】

'''先导入加密所需模块'''
from hashlib import md5

'''定义一个文件加密方法【注:调用需要传入文件路径】'''
def md5_file(name):
    m = md5()
    file_name = open(name, 'rb') #需要使用二进制格式读取文件内容
    m.update(a_file.read())
    file_name .close()
    '''下面的返回数据根据自己需要进行注释/反注释即可'''
    return m.hexdigest().upper()            # 大写的32位
    # return m.hexdigest()[8:-8].upper()    # 大写的16位
    # return m.hexdigest().lower()          # 小写的32位
    # return m.hexdigest()[8:-8].lower()    # 小写的16位

# 这个方法作为本地调试,调用不会被打印
if __name__ == '__main__':
    res = md5_file(r'D:\桌面\timg.jpg')
    print(res)

四、文件转化Base64编码


'''先导入加密所需模块'''
import base64

# 使用变量名存储文件路径
file_name = r"D:\test.jpg"

with open(file_name , 'rb') as f:
    base64_data = base64.b64encode(f.read())
    res = base64_data.decode()

'''打印Base64编码结果'''
print(res)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值