实例:用户登录

创建用户表userinfos

  • 表结构如下
    • id
    • uname
    • upwd
    • isdelete
  • 注意:需要对密码进行加密
  • 如果使用md5加密,则密码包含32个字符
  • 如果使用sha1加密,则密码包含40个字符,推荐使用这种方式
create table userinfos(
id int primary key auto_increment,
uname varchar(20),
upwd char(40),
isdelete bit default 0
);

加入测试数据

  • 插入如下数据,用户名为123,密码为123,这是sha1加密后的值
insert into userinfos values(0,'123','40bd001563085fc35165329ea1ff5c5ecbdbbeef',0);

接收输入并验证

  • 创建testLogin.py文件,引入hashlib模块、MysqlHelper模块
  • 接收输入
  • 根据用户名查询,如果未查到则提示用户名不存在
  • 如果查到则匹配密码是否相等,如果相等则提示登录成功
  • 如果不相等则提示密码错误
#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 '密码错误'