判断登陆用户名和密码是否正确-记事本存用户名密码

#setencoding=utf-8
#用户名和密码输入正确,则登陆成功
#用户名正确密码错误,只再输入密码,有3次机会
#错误3次,则把用户名放入lock中
import os,sys
#存放用户名和密码的文件是E:\python\user.txt
accounts_file = ‘E:\\python\\user.txt‘
#被锁的用户要写入此文件
lock_file = ‘E:\\python\\lock.txt‘
#先读出来放内存中,免得每次输入用户后进行判断都要打开文件
user =file(accounts_file)
account_list=user.readlines()
user.close()
#控制是否退出while大循环的标识
loginSucess =False
#这里用的大while循环,所以用户名输不对,就会一直输,如果想限制用户名输入次数,那么while改成for
while True:
    #raw_input是一个内置函数,获取用户输入,与用户建立交互
    #strip()是忽略空格
    username = raw_input(‘username:‘).strip()
    #先判断用户名是否存在,用户名如果存在才继续,如果不存在,直接跳出循环,结束
    if len(username)!=0:
        #用户名如果不为空的时候,判断是不是存在
        for i in account_list:
            #i读到的是一行,而一行有2列,第1列就是索引为0的才是用户名,第二列索引为1的是密码
            #split()方法是分隔符,默认是空格,
            i = i.split()
            if username==i[0]:#用户名正确
                #用户名正确的时候,只给3次输入密码的机会
                for x in range(3):
                    password = raw_input(‘password:‘).strip()
                    if password==i[1]:
                        loginSucess=True#如果为True的时候,直接走上上级for下的if,欢迎完就退出
                        break
                        #如果密码错误

                #如果匹配正确或循环中有break就退出,,else不执行
                else:
                    print ‘%s ,你已经输入错误密码3次了,going to lock ‘ %username
                    l = file(lock_file,‘a‘)
                    l.write(username+‘\n‘)
                    l.close()
                    view  = file(lock_file)
                    print view.read()

        if loginSucess is True:
            print ‘登陆成功,welcome to my system!!!‘
            break     #登陆成功就直接跳出while大循环
        elif loginSucess is False:  #这种是用户名输入错误,它的节点在用户不为空的条件之下 ,这里不能用break,不能跳出while大循环,因为我要你一直输,直到成功
            print ‘用户名输入错误,请重新输入。‘
        else:  #用户名也正确,输入密码不正确3次
            print ‘%s,sorry ,输入密码3次错误你已被锁‘ % username
            break
    else:#用户名输入为空的时候
        continue

原文地址:https://www.cnblogs.com/anzhangjun/p/8453204.html

时间: 2024-07-30 19:08:23

判断登陆用户名和密码是否正确-记事本存用户名密码的相关文章

第一个python程序-判断登陆用户名和密码是否正确

#setencoding=utf-8 #用户名和密码输入正确,则登陆成功 #用户名正确密码错误,只再输入密码,有3次机会 #错误3次,则把用户名放入lock中 import os,sys #存放用户名和密码的文件是E:\python\user.txt accounts_file = 'E:\\python\\user.txt' #被锁的用户要写入此文件 lock_file = 'E:\\python\\lock.txt' #先读出来放内存中,免得每次输入用户后进行判断都要打开文件 user =f

C语言的字符串转为OC中的字符串,控制台输入用户名和密码,判断输入的用户名是否是@“Frank”, 密码 是否是 @“lanou”, 如果用户名和密码都正确,则输出登录成功, 否则输出登录失败.

char name[20] = "";存储用户名 char code[20] = "";存储密码 printf("请输入用户名与密码"); scanf("%s%s", name, code); NSString *str1 = [NSString stringWithFormat:@"%s", name ]; NSString *str2 =[NSString stringWithFormat:@"

js判断登陆用户名及密码是否为空的简单实例

js判断登陆用户名及密码是否为空的简单实例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <script type="text/javascript"> // 验证输入不为空的脚本代码 function checkForm(form) { if(form.username.value == "") { alert("用户名不能为空!"); form.username.focus(); return

关于Oracle默认用户名system密码不正确登录不上解决方案

如果可以登录任意的一个用户可以通过一下方法来知道当前有哪些用户.select distinct owner from all_objects 查看当前用户. 如果你在安装的时候没有设置密码的话 oracle有三个默认的用户名和密码1.用户名:sys密码:change_on_install2.用户名:system密码:manager3.用户名:scott密码:tiger 或者可能你在安装的时候设置了符合Oracle校验规则的密码,但是在登录的时候密码不正确,可能是你在安装时的字符集设置的原因. 解

Windows 10 访问网络共享 总是提示用户名或密码不正确的解决方法

今天同事在Windows10上共享了一些文件,其他使用Windows 7的同事都可以正常使用,唯独我是使用Windows 10操作系统的,和别人输入一样的用户名和密码,却总是告诉我:用户名或密码不正确. 试过很多之前的百度得来的方法,结果都不好用.例如使用组策略管理器,去修改本地策略,安全选项中的一些设置,什么网络安全:LAN管理器身份验证级别.或者开启来宾用户什么的,都没有用. 最后还是万能的谷歌告诉了我解决办法,虽然没有搞清楚为什么. 解决办法就是用户名前面加上主机名比如,共享的机器名字叫:

提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,否则,如果用户名不是admin还提示用户用户名不存在,如果用户名是admin则提示密码错误.

提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,否则,如果用户名不是admin还提示用户用户名不存在,如果用户名是admin则提示密码错误. Console.WriteLine("输入用户名"); string a = Console.ReadLine(); Console.WriteLine("请输入密码"); string b = Console.ReadLine(); if (a == "ad

输入用户名和密码登入到服务器,却显示指定的网络密码不正确? 用户名和密码没问题 !

指定的网络密码不正确 修改一下组策略就可以了 运行 组策略编辑器 gpedit.msc-----打开计算机配置------windows设置-------安全设置------本地策略---------安全选项中的:网络安全:LAN管理器身份验证级别,默认是“没有定义”,更改为“发送LM和NTLM相应”

[转]加盐hash保存密码的正确方式

0x00 背景 大多数的web开发者都会遇到设计用户账号系统的需求.账号系统最重要的一个方面就是如何保护用户的密码.一些大公司的用户数据库泄露事件也时有发生,所以我们必须采取一些措施来保护用户的密码,即使网站被攻破的情况下也不会造成较大的危害.保护密码最好的的方式就是使用带盐的密码hash(salted password hashing).对密码进行hash操作是一件很简单的事情,但是很多人都犯了错.接下来我希望可以详细的阐述如何恰当的对密码进行hash,以及为什么要这样做. 0x01 重要提醒

用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断 登陆成功与否。

/*3.用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断登陆成功与否.*/#include <string.h>int numb(char use[] ,char password[] ){ if((strcmp(use,"zhouyi")==0)&&(strcmp(password,"nb")==0)) { return 1; } else { return 0; } } #include <stdio.h>