ventilaar
/
twitter_zuil
Archived
1
Fork 0
This repository has been archived on 2021-06-10. You can view files and clone it, but cannot push or open issues or pull requests.
twitter_zuil/moderator.py

65 lines
1.9 KiB
Python
Raw Normal View History

import hashlib
import getpass
import database_connector
import api_keys
conn = database_connector.conn
cur = database_connector.cur
def newaccount():
"""
Spreekt voorzich
:returns True on success, False on error
"""
try:
username = input('Gebruikers naam: ')
if len(username) > 64 or len(username) < 3:
print('Gebruikersnaam lengte is ongeldig, gebruik minimaal 3 en maximaal 64 tekens!')
return False
except:
print('Ongeldige invoer')
return False
try:
password1 = getpass.getpass('Voer wachtwoord in: ')
password2 = getpass.getpass('Herhaal wachtwoord: ')
if len(password1) < 4:
print('Wachtwoord lengte is te weinig, gebruik minimaal 4 tekens!')
return False
elif password1 != password2:
print('Wachtwoorden zijn niet hetzelfde!')
except:
print('Ongeldige invoer')
return False
cur.execute("SELECT naam FROM moderators WHERE naam = (%s);", (username, ))
sqlreturn = cur.fetchone()
if sqlreturn == None:
"""
password1 appenden met saltedlol an beide encoden als utf8(ja ik weet het, zo werkt salting niet)
daarna hashen met sha256(ja ik weet het er zijn betere manieren)
na al dat gedoe, in de database inserten met gebruikersnaam en hash
"""
hashedpass = hashlib.sha256(password1.encode('UTF-8') + 'saltandpepper'.encode('UTF-8')).hexdigest()
try:
cur.execute("INSERT INTO moderators(naam, hash) VALUES (%s, %s)", (username, hashedpass))
conn.commit()
print('Account aangemaakt!')
return True
except:
print('Fout bij het aanmaken van account!')
return False
else:
print('Gebruiker bestaat al!')
return False
def publish(berichtid):
"""
ontvangt lokaal bericht id en published dat bericht naar twitter
na het publishen, de functie pakt dan de twitter uniek id en zet het in de twitter berichten table met alle
waarden die twitter mee heeft gegeven zoals: id, tijd, datum
:returns True on success, False on error
"""