(2018-04-27.Python ZeroからOneまで)一、MySQL_1.4.5例:ユーザーログイン
1351 ワード
例:ユーザーログイン
ユーザー・テーブルの作成userinfos表の構造は次の通りです. id uname upwd isdelete
注意:パスワードを暗号化する必要がある md 5暗号化を使用する場合、パスワードは32文字の を含む. sha 1暗号化を使用する場合、パスワードには40文字が含まれており、 を推奨する.
テストデータの追加は、sha 1暗号化後の値 であるユーザ名123、パスワード123のデータを挿入する.
入力を受信して検証 testLogin.pyファイルを作成し、hashlibモジュール、MysqlHelperモジュール受信入力 を導入する.ユーザ名クエリによると、検出されない場合はユーザ名が存在しないことを示す .調べたら一致パスワードが等しいかどうか、等しいならログイン成功を促す .等しくなければパスワードエラー を提示する.
ユーザー・テーブルの作成userinfos
create table userinfos(
id int primary key auto_increment,
uname varchar(20),
upwd char(40),
isdelete bit default 0
);
テストデータの追加
insert into userinfos values(0,'123','40bd001563085fc35165329ea1ff5c5ecbdbbeef',0);
入力を受信して検証
#encoding=utf-8
from MysqlHelper import MysqlHelper
from hashlib import sha1
sname=raw_input(" :")
spwd=raw_input(" :")
s1=sha1()
s1.update(spwd)
spwdSha1=s1.hexdigest()
sql="select upwd from userinfos where uname=%s"
params=[sname]
sqlhelper=MysqlHelper('localhost',3306,'test1','root','mysql')
userinfo=sqlhelper.get_one(sql,params)
if userinfo==None:
print ' '
elif userinfo[0]==spwdSha1:
print ' '
else:
print ' '