checksum stuff

This commit is contained in:
Yanis002
2025-02-13 23:22:21 +01:00
parent 4f7cefd225
commit 57c5958ef7
3 changed files with 31 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
4c950473fa0694cea04eed517e05631f529b35ed st_eur.nds
+1
View File
@@ -0,0 +1 @@
eaee3602b8a2235211b2e20cdcd4cb357956a264 st_jp.nds
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env python
from pathlib import Path
import argparse
import hashlib
import sys
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
parser = argparse.ArgumentParser(description="Computes and verifies a SHA1 checksum")
parser.add_argument('file', help="Input file to verify")
parser.add_argument('-c', type=str, dest='checksum_file', required=False, help='Checksum file')
args = parser.parse_args()
file_path = Path(args.file)
checksum_path = Path(args.checksum_file)
with checksum_path.open('r') as file:
target_sha1, _ = file.readline().split(' ', 1)
with file_path.open('rb') as file:
file_sha1 = hashlib.sha1(file.read()).hexdigest()
if target_sha1 != file_sha1:
eprint(f"{file_path}: FAILED")
exit(1)
else:
eprint(f"{file_path}: OK")