#-*-Coding:utf-8-*-
"""
Created on Sat June 30 10:56:19 2018
@author: Lewisliu
"""
From flaskImport Flask
From flaskImport Request
Import Sqlite3
Import HMAC
#def HMAC_SHA1 (Key, s):
# return Hmac.new (Key.encode (' Utf-8 '), S.encode (' Utf-8 '), ' MD5 '). Hexdigest ()
App = Flask (__name__)
@app. Route (‘/‘,methods=[' GET ',' POST '])
DefHome ():
Return'
@app. Route ('/signin ',methods=[' GET '])
DefSignin_form ():
Return"' <form action="/signin "method=" POST ">
<p>model<input name= "Model" > (enroll/login/exit) </p>
<p>username<input name= "username" ></p>
<p>password<input name= "password" type= "password" ></p>
<p><button type= "Submit" >Submit</button></p>
</form> "
@app. Route ('/signin ',methods=[' POST '])
DefSignin ():
# The form content needs to be read from the Request object:
conn = Sqlite3.connect (' User_flask.db ')
cursor = Conn.cursor ()
Try
Cursor.execute (' CREATE table Userpass (name varchar (primary key, password varchar (20)) ')
ExceptExceptionAsE:
Pass
If request.form[' Model ']==' Exit ':
Conn.close ()
Return' Elif request.form[' Model ']==' Enroll ':
Flag = Cursor.execute ("SELECT name from Userpass where name= '%s '"% request.form[' username ']). Fetchone ()
If flag:
Return"' <form action="/signin "method=" POST ">
<p>name exit!</p>
<p>model<input name= "Model" > (enroll/login/exit) </p>
<p>username<input name= "username" ></p>
<p>password<input name= "password" type= "password" ></p>
<p><button type= "Submit" >Submit</button></p>
</form> "
Else
Key =' Liu '# '. Join ([Chr (Random.randint (122)) for I in range (20)])
Password = hmac.new (Key.encode (' Utf-8 '), request.form[' Password '].encode (' Utf-8 '),' MD5 '). Hexdigest ()
Cursor.execute ("INSERT into Userpass (name, password) VALUES ('%s ', '%s ')"% (request.form[' Username '], password))
Conn.commit ()
Return"' <form action="/signin "method=" POST ">
<p>you Enroll Successful!</p>
<p>model<input name= "Model" > (enroll/login/exit) </p>
<p>username<input name= "username" ></p>
<p>password<input name= "password" type= "password" ></p>
<p><button type= "Submit" >Submit</button></p>
</form> "
Elif request.form[' Model ']==' Login ':
Key =' Liu '
Password = hmac.new (Key.encode (' Utf-8 '), request.form[' Password '].encode (' Utf-8 '),' MD5 '). Hexdigest ()
Flag = Cursor.execute ("SELECT name and password from userpass where name = '%s ' and password= '%s '"% (request.form[' Username '], password)). Fetchone ()
If flag:
Return"' <form action="/signin "method=" POST ">
<p>wellcome!</p>
<p>model<input name= "Model" > (enroll/login/exit) </p>
<p>username<input name= "username" ></p>
<p>password<input name= "password" type= "password" ></p>
<p><button type= "Submit" >Submit</button></p>
</form> "
Else
Return"' <form action="/signin "method=" POST ">
<p>bad Username or password!</p>
<p>model<input name= "Model" > (enroll/login/exit) </p>
<p>username<input name= "username" ></p>
<p>password<input name= "password" type= "password" ></p>
<p><button type= "Submit" >Submit</button></p>
</form> "
else:
return "<form action="/signin "method=" POST "
<p> Model Wrong!</p>
<p>model<input name= "model" > (enroll/login/ Exit) </p>
<p>username<input name= "username" ></P>
Span style= "COLOR: #6a8759" > <p>password<input name= "password" type= "password" ></P>
<p><button type= "Submit" >SUBMIT</BUTTON></P>
</form> "
if __name__ = "__main __ ':
App.run ()
User Login system, written by Flask,sqlite,hmac