Files
2026-06-24 14:53:14 +02:00

47 lines
1.5 KiB
Python

import re
#Function for validating DNS hostnames
def validate_dns_hostname(dns_hostname):
try:
# Basic validation
if not dns_hostname or not isinstance(dns_hostname, str):
return False, "DNS Hostname darf nicht leer sein und muss ein String sein"
# Validate DNS hostname format
dns_pattern = r'^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$'
if not re.match(dns_pattern, dns_hostname):
return False, "Ungültiges DNS Hostname Format"
# Check maximum length
if len(dns_hostname) > 255:
return False, "DNS Hostname ist zu lang (max. 255 Zeichen)"
return True, None
except Exception as e:
return False, f"Fehler bei der DNS Validierung: {str(e)}"
#Function for validating hash values and returning the type
def validate_hash(hash_value):
try:
# Basic validation
if not hash_value or not isinstance(hash_value, str):
return False, None, "Hash darf nicht leer sein und muss ein String sein"
# Validate hash format and determine type
hash_patterns = {
'md5': r'^[a-fA-F0-9]{32}$',
'sha1': r'^[a-fA-F0-9]{40}$',
'sha256': r'^[a-fA-F0-9]{64}$'
}
for type_name, pattern in hash_patterns.items():
if re.match(pattern, hash_value):
return True, type_name, None
return False, None, "Unbekanntes Hash-Format"
except Exception as e:
return False, None, f"Fehler bei der Hash-Validierung: {str(e)}"