44 lines
No EOL
1.6 KiB
Text
44 lines
No EOL
1.6 KiB
Text
"""
|
|
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() |