import hashlib import json # Funktion zum Berechnen der SHA-256-Checksumme def calculate_checksum(data): sha256 = hashlib.sha256() sha256.update(str(data).encode('utf-8')) return sha256.hexdigest() # Funktion zum Lesen und Vergleichen der Checksumme in einer Datei def read_and_compare_checksum(file_path, expected_checksum): try: with open(file_path, 'r') as file: content = file.read() # Suche nach der Zeile mit der Checksumme checksum_line_start = content.find("// CODEGENERATOR_CHECKSUM:") if checksum_line_start != -1: # Extrahiere die Checksumme aus der Zeile existing_checksum = content[checksum_line_start + len("// CODEGENERATOR_CHECKSUM:"):].strip() # Vergleiche die Checksummen if existing_checksum == expected_checksum: return True except FileNotFoundError: pass # Datei existiert nicht, was nicht schlimm ist return False def read_and_compare_json_checksum(json_file_path, expected_checksum): try: with open(json_file_path, 'r') as json_file: # Lade das JSON aus der Datei data = json.load(json_file) # Überprüfe, ob "codegenerator_checksum" im JSON vorhanden ist if "codegenerator_checksum" in data: existing_checksum = data["codegenerator_checksum"] # Vergleiche die Checksummen if existing_checksum == expected_checksum: return True except FileNotFoundError: pass # Datei existiert nicht, was nicht schlimm ist return False