| # 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()) |