bbzw-horizon/webservice/crypto.py
2025-05-02 12:55:57 +02:00

15 lines
No EOL
563 B
Python

# crypto.py
import hashlib
import secrets
def hash_password(password: str) -> str:
"""Generiert einen SHA-256 Hash des gegebenen Passworts."""
return hashlib.sha256(password.encode()).hexdigest()
def generate_new_token(length: int = 32) -> str:
"""Generiert einen neuen sicheren Token."""
return secrets.token_hex(length) # Erzeugt einen sicheren Token
def substitute_string_reverse(s: str, alphabet: str, key: str) -> str:
reverse_map = {k: a for a, k in zip(alphabet, key)}
return "".join(reverse_map.get(ch.upper(), ch) for ch in s)