""" TEE OFF ADMIN PASSWORD UPDATER --------------------------------------------------------------------------- FUNKSJON: Genererer SQL-kommando for å KUN oppdatere passord for en eksisterende admin. STATUS: Påvirker IKKE tofaktor (2FA), e-post eller andre brukere. --------------------------------------------------------------------------- """ from passlib.hash import pbkdf2_sha256 import getpass import sys def update_admin_password(): print("\n" + "="*50) print(" TEE OFF ADMIN PASSORD-OPPDATERER") print("="*50) username = input("Brukernavn på admin som skal oppdateres: ").strip() safe_username = username.replace("'", "''") # Passord-verifisering while True: password = getpass.getpass("Skriv inn NYTT passord: ") password_confirm = getpass.getpass("Gjenta NYTT passord: ") if password == password_confirm: if len(password) < 8: print("⚠️ Advarsel: Passordet bør være minst 8 tegn.") print(f"\n[DEBUG] Passord akseptert.") break else: print("❌ Passordene er ikke like. Prøv igjen.\n") print("⏳ Genererer PBKDF2-hash...") password_hash = pbkdf2_sha256.hash(password) print("\n✅ GENERERING VELLYKKET!") print("-" * 50) print("SLIK OPPDATERER DU PASSORDET TRYGT:") print("-" * 50) print("1. Gå inn i databasen:") print(" docker exec -it teeoff_db psql -U teeoff_admin -d teeoff") print("\n2. Lim inn denne linjen nøyaktig slik den står:") print(f"UPDATE admins SET password_hash = '{password_hash}' WHERE username = '{safe_username}';") print("\n3. Skriv 'exit' for å gå ut.") print("-" * 50 + "\n") if __name__ == "__main__": try: update_admin_password() except KeyboardInterrupt: print("\nAvbrutt.") sys.exit(0)