8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

python验证用户名和密码

来源:本站原创 浏览:85次 时间:2022-09-03

这篇是接上一篇内容,上篇实现了如何将明文的密码加密写入数据库中,我们今天这段代码就是实现如何让用户输入用户名和密码,然后跟数据库中的信息进行比较,如果匹配就显示登陆成功,如果密码错误将提示用户继续输入,用户可输入三次密码尝试,如果都输入错误就直接退出,如果有一次正确就表示登陆成功,接下来我们来看脚本实现:



#!/usr/bin/env python

 

import sys

import hashlib

import getpass

import sqlite3

 

def main():

    user_name = raw_input('Please Enter User Name: ')

    conn = sqlite3.connect('pub.db')

    cu = conn.cursor()

    sql = '''

          select name,pass from user where name = ?

          '''

    cu.execute(sql, (user_name,))

    uname,pw = cu.fetchone()

 

    pass_try = 0

    x = 3

    while pass_try < x:

        user_pass = hashlib.sha224(getpass.getpass('Please Enter Password: ')).hexdigest()

        if user_pass != pw:

             print 'Incorrect Password,\n'

             pass_try += 1

        else:

            print 'User is logged in!\n'

            sys.exit()

 

if __name__ == "__main__":

    main()



脚本解释,根据用户输入的用户名,从数据库中查询用户名和密码,此处写的教简单,正常应先判断是否有这个用户名,如果没有就直接返回错误,请需要的朋友自己加代码测试吧,从数据库中获取数据用的游标对象,fetchone()函数将获取数据库中用户信息,返回的是元组,赋值给变量user,pw,然后定义了可以允许用户尝试几次密码,这里定义的是3次,接下来是个while循环,判断条件是如果密码输入的次数少于允许输入的次数,就一直让用户输入,输入三次后仍不正确就退出程序,如果有一次正确,就显示用户登录,然后退出,脚本完毕。


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net