在Python中如何对字符串和文件进行MD5加密
2023-10-11 20:12
在 web 项目开发中,计算字符串和文件的 MD5 加密值(哈希值)是常见的需求,本文为你介绍在 Python 中如何使用 hashlib 库来计算字符串和文件的 MD5 值。
一、计算字符串 MD5
Python 代码:
# 导入 hashlib 库
import hashlib
# 自定义函数
def md5_hash(string):
hash_object = hashlib.md5(string.encode())
md5_hash = hash_object.hexdigest()
return md5_hash
# 调用函数
md5_hash = md5_hash('要加密的字符串')
# 输出 MD5
print(md5_hash)
这段代码首先导入 hashlib 库,然后定义了一个函数 md5_hash,该函数接受一个字符串作为输入,并使用 hashlib 库中的 md5() 函数来计算其哈希值。由于 md5() 函数需要一个字节流作为输入,因此我们使用 encode() 方法将字符串转换为字节流。然后,我们使用 hexdigest() 方法将哈希值转换为十六进制字符串,并返回该字符串。最后调用 md5_hash 函数来获取其 MD5 哈希值并打印输出。
二、计算文件 MD5
文件 MD5 同样使用 hashlib 库来计算。
Python 代码:
# 导入 hashlib 库
import hashlib
# 自定义函数
def md5_hash_file(filename):
with open(filename, 'rb') as f:
md5 = hashlib.md5(f.read()).hexdigest()
return md5
# 调用函数,参数值为文件名,可以是相对路径或绝对路径
md5_hash = md5_hash_file('测试的文件.xlsx')
# 输出 MD5
print(md5_hash)
首先导入 hashlib 库。然后定义了一个函数 md5_hash_file,该函数打开指定的文件,并读取其内容。通过调用 hashlib.md5(f.read()).hexdigest(),我们可以计算出文件的MD5哈希值,并将其作为字符串返回。最后调用 md5_hash_file 函数来获取其 MD5 哈希值并打印输出。