This repository has been archived by the owner on Jan 9, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
createAccount.py
47 lines (47 loc) · 1.52 KB
/
createAccount.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import mysql.connector
import argparse
import json
import hashlib
import time
parser = argparse.ArgumentParser()
print("Usage: python createAccount.py -u Username -p Password -g 4 -e username@test.com")
with open('./config/database.json') as configFile:
databaseConfig = json.load(configFile)
database = mysql.connector.connect(
host=databaseConfig["host"],
user=databaseConfig["user"],
password=databaseConfig["password"],
database=databaseConfig["name"]
)
parser.add_argument("-u", "--user", help = "Username for user [required]")
parser.add_argument("-p", "--password", help = "Password for user [required]")
parser.add_argument("-g", "--group", help = "User group [required]")
parser.add_argument("-e", "--email", help = "email for user [optional]")
args = parser.parse_args()
if args.user:
username = args.user
else:
print("A username is required (-u or --user)")
quit()
if args.password:
password = args.password
else:
print("A password is required (-p or --password)")
quit()
if args.group:
group = args.group
else:
print("User group must be specified (-g or --group)")
quit()
if args.email:
email = args.email
else:
email = None
cursor = database.cursor()
cursor.execute("SELECT `salt` FROM `server`")
password = password + cursor.fetchone()[0]
query = "INSERT INTO `accounts` VALUES (NULL, %s, %s, %s, %s, %s, NULL, 0)"
values = (username, hashlib.sha512(password.encode("UTF-8")).hexdigest(), email, group, time.time())
cursor.execute(query, values)
database.commit()
print("Account created")