123456789101112131415161718192021222324 |
- # coding:utf-8
- import hashlib
- def calculate_file_hash(file_path, hash_algorithm='sha256'):
- """
- 计算文件的哈希值
- :param file_path: 文件路径
- :param hash_algorithm: 哈希算法,默认为sha256
- :return: 文件的哈希值
- """
- # 创建哈希对象
- hash_obj = hashlib.new(hash_algorithm)
- # 以二进制方式打开文件
- with open(file_path, 'rb') as f:
- # 循环读取文件内容,更新哈希对象
- for chunk in iter(lambda: f.read(4096), b''):
- hash_obj.update(chunk)
- # 获取哈希值的十六进制表示
- file_hash = hash_obj.hexdigest()
- return file_hash
|