""" TEE OFF ADMIN GENERATOR v1.3 (PBKDF2 ONLY) --------------------------------------------------------------------------- FUNKSJON: Genererer SQL-kommando for PBKDF2-basert administrator. --------------------------------------------------------------------------- """ import pyotp from passlib.hash import pbkdf2_sha256 import getpass def generate_admin(): print("\n" + "="*50) print(" TEE OFF ADMIN GENERATOR v1.3") print("="*50) username = input("Brukernavn (f.eks Envide Webutvikling): ").strip() email = input("E-post: ").strip() password = getpass.getpass("Passord: ") otp_secret = pyotp.random_base32() print("⏳ Genererer PBKDF2-hash...") # Dette vil produsere en streng som starter med $pbkdf2-sha256$... password_hash = pbkdf2_sha256.hash(password) print("\n✅ GENERERING VELLYKKET!") print("-" * 50) print("1. KJØR DISSE TO KOMMANDOENE I REKKEFØLGE:") print("-" * 50) # Kommando 1: Tøm tabellen for å fjerne gamle, inkompatible hasher print(f'docker exec -it teeoff_db psql -U teeoff_admin -d teeoff -c "TRUNCATE admins;"') # Kommando 2: Sett inn den nye brukeren sql = f"INSERT INTO admins (username, email, password_hash, otp_secret) VALUES ('{username}', '{email}', '{password_hash}', '{otp_secret}');" print(f'\ndocker exec -it teeoff_db psql -U teeoff_admin -d teeoff -c "{sql}"') print("\n" + "-" * 50) print("2. KONFIGURER 2FA I GOOGLE AUTHENTICATOR:") print(f"Nøkkel: {otp_secret}") print("-" * 50 + "\n") if __name__ == "__main__": generate_admin()