i finally committed i guess
Signed-off-by: boris <boris@borishub.co.uk>
This commit is contained in:
79
Databases/generate_users.py
Normal file
79
Databases/generate_users.py
Normal file
@@ -0,0 +1,79 @@
|
||||
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")
|
Reference in New Issue
Block a user