From fad5f4564348d01bc4e6ffb58bef0a49dd8a9b1e Mon Sep 17 00:00:00 2001 From: lhinds Date: Tue, 14 Nov 2017 14:41:19 +0000 Subject: Utility script to help create sha256 hashes Simple script to make it easier for projects to generate checksums of binary files Change-Id: Id246036b863e025c10791fdbc51168170413afc3 Signed-off-by: lhinds --- utils/generate-sha256.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 utils/generate-sha256.py diff --git a/utils/generate-sha256.py b/utils/generate-sha256.py new file mode 100644 index 0000000..c3efc58 --- /dev/null +++ b/utils/generate-sha256.py @@ -0,0 +1,30 @@ +import os +import sys +import hashlib +import argparse +from binaryornot.check import is_binary + +hasher = hashlib.sha256() +parser = argparse.ArgumentParser() + +parser.add_argument('--project', help="Full path to project folder", \ + required=True) +args = parser.parse_args() +ignore_dirs = ['.git'] +sys.stdout = open('output.yaml' , 'w') + +print("binaries:") +for root, dirs, files in os.walk(args.project): + dirs[:] = [d for d in dirs if d not in ignore_dirs] + for file in files: + path = os.path.join(root, file) + if is_binary(path): + with open(path, 'rb') as afile: + buf = afile.read() + hasher.update(buf) + print " {}".format(file) + sum = hasher.hexdigest() + print " - {}".format(sum) + +print("script run complete, now copy and paste contents of output.yaml into \ + your project exception yaml file") -- cgit 1.2.3-korg