diff --git a/sqli/dao/student.py b/sqli/dao/student.py index d41ef885..a770ea2f 100644 --- a/sqli/dao/student.py +++ b/sqli/dao/student.py @@ -25,13 +25,13 @@ async def get(conn: Connection, id_: int): async def get_many(conn: Connection, limit: Optional[int] = None, offset: Optional[int] = None): q = 'SELECT id, name FROM students' - params = {} + params = [] if limit is not None: - q += ' LIMIT + %(limit)s ' - params['limit'] = limit + q += ' LIMIT %s' + params.append(limit) if offset is not None: - q += ' OFFSET + %(offset)s ' - params['offset'] = offset + q += ' OFFSET %s' + params.append(offset) async with conn.cursor() as cur: await cur.execute(q, params) results = await cur.fetchall() @@ -39,9 +39,8 @@ async def get_many(conn: Connection, limit: Optional[int] = None, @staticmethod async def create(conn: Connection, name: str): - q = ("INSERT INTO students (name) " - "VALUES ('%(name)s')" % {'name': name}) async with conn.cursor() as cur: - await cur.execute(q) - - + await cur.execute( + "INSERT INTO students (name) VALUES (%s)", + (name,) + ) diff --git a/sqli/dao/user.py b/sqli/dao/user.py index c663ddc3..659ca1ac 100644 --- a/sqli/dao/user.py +++ b/sqli/dao/user.py @@ -1,4 +1,4 @@ -from hashlib import md5 +from hashlib import sha256 from typing import NamedTuple, Optional from aiopg import Connection @@ -38,4 +38,5 @@ async def get_by_username(conn: Connection, username: str): return User.from_raw(await cur.fetchone()) def check_password(self, password: str): - return self.pwd_hash == md5(password.encode('utf-8')).hexdigest() + return self.pwd_hash == sha256(password.encode('utf-8')).hexdigest() +