使用hashlib进行登录校验
注册登录和密码验证
用户注册时,文件中保存用户名,和密码的密文
登录时,密码与文件中的密文进行比较,如果相同就同意登录
import hashlib # 导入模块
def md5(username,password): # 加密函数
md5 = hashlib.md5(username[::-].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\n'%(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('登陆成功')
使用hashlib进行登录校验的更多相关文章
- JavaWeb_day02_登录校验_查询所有员工信息_DeBug
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! WEB_day02 servlet 协议转对象 服务器 ...
- Spring Security 登录校验 源码解析
传统情况下,在过滤器中做权限验证,Spring Secuirty也是在Filter中进行权限验证. 创建并注册过滤器 package com.awizdata.edubank.config; impo ...
- MVC登录校验
利用MVC自带的过滤器可现实简单的登录校验 在项目目录下创建一个BaseController控制器,让需要验证的控制器继承这个BaseController 需要让BaseController继承Con ...
- vue-router登录校验后跳转到之前指定页面如何实现
两个需求:1.用户点击购买需要下单,并跳转到订单页面,但是如果用户没有登录的话,中间有登录验证,会拦截:2.点击购买的时候,登录校验成功了,跳转到订单页面时,订单已创建,去付款即可.3.处理拦截至登录 ...
- 【koa2】用户注册、登录校验与加盐加密
加密与解密 先介绍一下关于服务端用户名跟密码的存储状态,我们知道当前端在注册一个新用户时,会在表单内填入用户名和密码,并通过post请求提交到服务器,服务器再把用户名和密码从ctx.request.b ...
- js经典校验之注册与登录校验
平时都专注于后台功能的实现和逻辑需求的分析及数据库方面的设计,很少关注前端的设计,而项目开发过程中专门负责后台是不太可能的事,所以前端我们也需要会用,除了漂亮的首页等其他的交给美工来做,一些功能性的东 ...
- $.post系统登录校验
AJAX方式:$.post系统登录校验 https://blog.csdn.net/woshisangsang/article/details/66560238?utm_source=blogxgwz ...
- 使用hashlib进行文件校验
import hashlib import os path = r'D:\CentOS 64 位' def file_md5(path): """ 文件校验 :param ...
- 国服最强JWT生成Token做登录校验讲解,看完保证你学会!
转载于:https://blog.csdn.net/u011277123/article/details/78918390 Free码农 2017-12-28 00:08:02 JWT简介 JWT(j ...
随机推荐
- MySQL 中的运算符
1.算数运算符 MySQL 支持的算术运算符包括加.减.乘.除和模运算. 运算符 作用 + 加法,获得一个或多个值的和 - 减法,从一个值中减去另一个值 * 乘法,得到两个或多个值的乘积 /,div ...
- MMU内存管理单元
arm-linux学习-(MMU内存管理单元) 什么是MMU MMU(Memory Management Unit)主要用来管理虚拟存储器.物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及 ...
- MySQL遇到Deadlock found when trying to get lock,解决方案
最近遇到一个MYSQL update语句出现Deadlock found when trying to get lock的问题,分析一下原因. 什么情况下会出现Deadlock found when ...
- Analyzing the Go runtime scheduler from source code perspective
http://www.cs.columbia.edu/~aho/cs6998/reports/12-12-11_DeshpandeSponslerWeiss_GO.pdf http://www.cs. ...
- asp.net mvc 微信支付代码分析(根据沐雪微信平台3.1商城业务来分析)
开发微信应用,微信支付是永远要面对的.现在的微信支付相对以往已经很稳定,很少出现诡异情况.再加上无数人开发的经验分享,现在开发微信支付已经没什么难度了. 我这次主要是想基于沐雪微信平台的微商城业务来分 ...
- (7) MySQL数据库备份详解
对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使 ...
- TF的模型文件
TF的模型文件 标签(空格分隔): TensorFlow Saver tensorflow模型保存函数为: tf.train.Saver() 当然,除了上面最简单的保存方式,也可以指定保存的步数,多长 ...
- Activiti 工作流变量的修改方法
修改方法: //此方法的更新会同时更新 ru_ 和 hi_的数据 @Override public Map<String, Object> updateProcessFormValue(S ...
- mysql使用自增Id为什么存储比较快
转自:https://blog.csdn.net/bigtree_3721/article/details/73151028 InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表( ...
- Safari 3D transform变换z-index层级渲染异常的研究
by zhangxinxu from http://www.zhangxinxu.com/wordpress/?p=5569 一.Safari是新时代的IE6 在2年前介绍currentColor变量 ...