zoukankan      html  css  js  c++  java
  • 使用hashlib进行登录校验

    注册登录和密码验证

    用户注册时,文件中保存用户名,和密码的密文

    登录时,密码与文件中的密文进行比较,如果相同就同意登录

    import hashlib     # 导入模块 
    def md5(username,password):    #  加密函数
        md5 = hashlib.md5(username[::-1].encode('utf-8')) # 加盐加密,加密方式md5
        md5.update(password.encode('utf-8'))
        return md5.hexdigest()
    
    def get_line():
        with open('userinfo', encoding='utf-8') as f:   #  登录验证
            for line in f:
                user, pwd = line.strip().split(',')
                yield user,pwd
    
    def register():
        flag = True         # 账号注册函数
        while flag:
            username = input('user :')
            password = input('passwd :')
            for user,pwd in get_line():
                if user == username:
                    print('您输入的用户名已经存在')
                    break
            else:
                flag = False
        password = md5(username,password)
        with open('userinfo',encoding='utf-8',mode='a') as f:       #  文件写入
            f.write('%s,%s
    '%(username,password))
    
    def login():
        username = input('user :')
        password = input('passwd :')
        for user,pwd in get_line():        # 登录验证,调用get_line函数
            if username == user and pwd == md5(username,password):
                return True
    
    
    ret = login()
    if ret:
        print('登陆成功')
  • 相关阅读:
    微软下载
    stsadm.exe
    将表数据生成Insert脚本
    silverlight客户端保存文件乱码问题
    MySql全文索引
    SQL 自增主键从1开始
    Redis 数据结构之简单动态字符串SDS
    vs2012升级到vs2013后,sql server 无法通过IP登录解决方案
    常见XSD问题
    EntitySpace 常用语句
  • 原文地址:https://www.cnblogs.com/mk-lovefreedom/p/10596007.html
Copyright © 2011-2022 走看看