import sqlite3 import random import hashlib import os # Connect to the SQLite database conn = sqlite3.connect('Databases/ecobuddy.sqlite') cursor = conn.cursor() # List of real first names for usernames first_names = [ 'James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Joseph', 'Thomas', 'Charles', 'Christopher', 'Daniel', 'Matthew', 'Anthony', 'Mark', 'Donald', 'Steven', 'Paul', 'Andrew', 'Joshua', 'Kenneth', 'Kevin', 'Brian', 'George', 'Timothy', 'Ronald', 'Edward', 'Jason', 'Jeffrey', 'Ryan', 'Jacob', 'Gary', 'Nicholas', 'Eric', 'Jonathan', 'Stephen', 'Larry', 'Justin', 'Scott', 'Brandon', 'Benjamin', 'Samuel', 'Gregory', 'Alexander', 'Frank', 'Patrick', 'Raymond', 'Jack', 'Dennis', 'Jerry', 'Tyler', 'Aaron', 'Jose', 'Adam', 'Nathan', 'Henry', 'Douglas', 'Zachary', 'Peter', 'Kyle', 'Ethan', 'Walter', 'Noah', 'Jeremy', 'Christian', 'Keith', 'Roger', 'Terry', 'Gerald', 'Harold', 'Sean', 'Austin', 'Carl', 'Arthur', 'Lawrence', 'Dylan', 'Jesse', 'Jordan', 'Bryan', 'Billy', 'Joe', 'Bruce', 'Gabriel', 'Logan', 'Albert', 'Willie', 'Alan', 'Juan', 'Wayne', 'Elijah', 'Randy', 'Roy', 'Vincent', 'Ralph', 'Eugene', 'Russell', 'Bobby', 'Mason', 'Philip', 'Louis' ] # List of common words for password generation words = [ 'Apple', 'Banana', 'Cherry', 'Dragon', 'Eagle', 'Forest', 'Garden', 'Harbor', 'Island', 'Jungle', 'Kingdom', 'Lemon', 'Mountain', 'Nature', 'Ocean', 'Planet', 'Queen', 'River', 'Summer', 'Tiger', 'Universe', 'Volcano', 'Winter', 'Yellow', 'Zebra', 'Castle', 'Diamond', 'Emerald', 'Flower', 'Galaxy', 'Horizon', 'Iceberg', 'Journey', 'Knight', 'Legend', 'Meadow', 'Nebula', 'Oasis', 'Palace', 'Quasar', 'Rainbow', 'Sapphire', 'Thunder', 'Unicorn', 'Victory', 'Whisper', 'Xylophone', 'Yacht', 'Zephyr', 'Autumn', 'Breeze', 'Cascade', 'Dolphin', 'Eclipse', 'Falcon', 'Glacier', 'Harmony', 'Infinity', 'Jasmine', 'Kaleidoscope', 'Lighthouse', 'Mirage', 'Nightfall', 'Orchard', 'Phoenix', 'Quicksilver', 'Radiance', 'Serenity', 'Twilight', 'Umbrella' ] # Check if we already have users with these names cursor.execute("SELECT username FROM ecoUser") existing_users = [row[0] for row in cursor.fetchall()] # Create a file to store usernames and passwords with open("user_credentials.txt", "w") as file: file.write("Username,Password\n") # Generate 50 users users_added = 0 used_names = [] random.shuffle(first_names) for name in first_names: if users_added >= 50: break # Skip if the name is already in the database if name in existing_users or name in used_names: continue # Generate password in format (Word)(Word)(Word)(Digit) password = random.choice(words) + random.choice(words) + random.choice(words) + str(random.randint(0, 9)) # Hash the password using SHA-256 hashed_password = hashlib.sha256(password.encode()).hexdigest() # Insert the user into the database (userType 2 is for standard users) cursor.execute("INSERT INTO ecoUser (username, password, userType) VALUES (?, ?, ?)", (name, hashed_password, 2)) # Write the credentials to the file file.write(f"{name},{password}\n") used_names.append(name) users_added += 1 print(f"Added user: {name}") # Commit the changes and close the connection conn.commit() conn.close() print(f"\nSuccessfully added {users_added} users to the database.") print("Usernames and passwords have been saved to user_credentials.txt")