# Copyright (c) 2020, 2021 The Linux Foundation | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
import hashlib | |
from west import log | |
def getHashes(filePath): | |
""" | |
Scan for and return hashes. | |
Arguments: | |
- filePath: path to file to scan. | |
Returns: tuple of (SHA1, SHA256, MD5) hashes for filePath, or | |
None if file is not found. | |
""" | |
hSHA1 = hashlib.sha1() | |
hSHA256 = hashlib.sha256() | |
hMD5 = hashlib.md5() | |
log.dbg(f" - getting hashes for {filePath}") | |
try: | |
with open(filePath, 'rb') as f: | |
buf = f.read() | |
hSHA1.update(buf) | |
hSHA256.update(buf) | |
hMD5.update(buf) | |
except OSError: | |
return None | |
return (hSHA1.hexdigest(), hSHA256.hexdigest(), hMD5.hexdigest()) |