计算字符串哈希
使用 Python 内置库 hashlib 可以实现哈希加密
如需要产生MD5 哈希值,就这样写代码
import hashlib
# 使用 md5 算法
m = hashlib.md5()
# 要计算的源数据必须是字节串格式
# 字符串对象需要encode转化为字节串对象
m.update("test123".encode())
# 产生哈希值对应的bytes对象
resultBytes = m.digest()
# 产生哈希值的十六进制表示
resultHex = m.hexdigest()
print(resultHex)
运行结果为
cc03e747a6afbbcbf8be7668acfebee5
若使用sha256 算法, 代码如下
import hashlib
# 使用 sha256 算法
m = hashlib.sha256()
# 要计算的源数据必须是字节串格式
# 字符串对象需要encode转化为字节串对象
m.update("test123".encode())
# 产生哈希值对应的bytes对象
resultBytes = m.digest()
# 产生哈希值的十六进制表示
resultHex = m.hexdigest()
print(resultHex)
运行结果为
ecd71870d1963316a97e3ac3408c9835ad8cf0f3c1bc703527c30265534f75ae
计算文件哈希
若需要生成文件的md5值,代码如下
import hashlib
import sys
# 文件名称
file_name = "test123.jpg"
# 读取文件
with open(file_name, 'rb') as fp:
data = fp.read()
# 使用 md5 算法
file_md5= hashlib.md5(data).hexdigest()
print(file_md5)
若需要生成文件的sha256值,代码如下
import hashlib
import sys
# 文件名称
file_name = "test123.png"
# 读取文件
with open(file_name, 'rb') as fp:
data = fp.read()
# 使用 md5 算法
file_md5= hashlib.sha256(data).hexdigest()
print(file_md5)