File size: 1,180 Bytes
87b327e dc862f6 87b327e dc862f6 87b327e dc862f6 87b327e 1f904b3 1ec8511 87b327e 1ec8511 87b327e 640f837 87b327e 640f837 3f1b8d4 87b327e 3f1b8d4 | 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 | import aiosqlite, bcrypt, os
D_P = "cyber_vault.db"
async def init_db():
async with aiosqlite.connect(D_P) as db:
await db.execute("CREATE TABLE IF NOT EXISTS u_tab (u TEXT PRIMARY KEY, p TEXT)")
await db.commit()
async def add_user(u, p):
un = u.upper().strip()
pw = bcrypt.hashpw(p.encode(), bcrypt.gensalt()).decode()
try:
async with aiosqlite.connect(D_P) as db:
await db.execute("INSERT INTO u_tab (u, p) VALUES (?, ?)", (un, pw))
await db.commit()
return True
except: return False
async def del_user(u):
async with aiosqlite.connect(D_P) as db:
await db.execute("DELETE FROM u_tab WHERE u = ?", (u.upper().strip(),))
await db.commit()
async def check_user(u):
async with aiosqlite.connect(D_P) as db:
async with db.execute("SELECT u FROM u_tab WHERE u = ?", (u.upper().strip(),)) as cur:
return await cur.fetchone() is not None
async def list_users():
async with aiosqlite.connect(D_P) as db:
async with db.execute("SELECT u FROM u_tab") as cur:
r = await cur.fetchall()
return [x[0] for x in r]
|