Python常用模块 之 hashlib模块——简单实现实现登录注册

Python常用模块 之 hashlib模块——简单实现实现登录注册(唯一要求:使用hashlib中的md5进行加密!)importhashlibimportredefdenglu():user1=input(‘请输入你的账号:’)pwd=input(‘请输入你的密码:’)count=0withopen(‘json1.txt’,’r’)asf:foriinf:user,passwd=i.split(‘|’)resu

大家好,又见面了,我是你们的朋友全栈君。

(唯一要求:使用hashlib中的md5进行加密!)

 import hashlib
import re

def denglu():
    user1 = input('请输入你的账号:')
    pwd  = input('请输入你的密码:')
    count = 0
    with open('json1.txt','r') as f:
        for i in f:
            user,passwd = i.split('|')   
            result_pwd = re.findall(r'\S+',passwd)[0]   
            
            # 加盐操作
            pwd_a = '加密加密' + pwd + '#¥@¥@#@@#'
            res = hashlib.md5(pwd_a.encode())
            res_pwd = res.hexdigest()
            
            if user1 ==user and res_pwd == result_pwd:
                print('输入正确')
                count +=1

        if count ==0:
            print('输入错误')

def zhuce():
    usr = input('请输入你要注册的名字:')
    pwd = input('请输入你要注册的密码:')
    pwd_n = '加密加密' + pwd + '#¥@¥@#@@#'
    res_pwd = hashlib.md5(pwd_n.encode())
    pwd = res_pwd.hexdigest()
    with open('json1.txt','a+') as f:
        f.write(usr+'|'+pwd + '\n')

while True:
    try:
        a = int(input('请输入你要执行的操作:1.注册,2登录,3.退出\n:'))
    except ValueError as f:
        print('问题是:%s'%f)
        break
    if a == 1:
        zhuce()
    elif a == 2:
        denglu()
    elif a == 3:
        break
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130624.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Idea配置SVN教程

    Idea配置SVN教程第一步:下载svn的客户端,通俗一点来说就是小乌龟啦!去电脑管理的软件管理里面可以直接下载,方便迅速下载之后直接安装就好了,但是要注意这里的这个文件也要安装上,默认是不安装的,如果不安装,svn中的bin目录下就会没有svn.exe,这个待会会用到,所以一点要注意哦。(都是坑啊)如果你不幸没点第二个,别着急,本文章末尾给你解决办法然后就下一步下一步就安装好了。配置svn的环境变量在此就…

    2022年5月14日
    246
  • batchnorm原理及代码详解(笔记2)

    batchnorm原理及代码详解(笔记2)Batchnorm原理详解前言:Batchnorm是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法,可以说是目前深度网络必不可少的一部分。本文旨在用通俗易懂的语言,对深度学习的常用算法–batchnorm的原理及其代码实现做一个详细的解读。本文主要包括以下几个部分。Batchnorm主要解决的问题 Batchnorm原理解读 Batchnorm的优点 Batc…

    2022年5月28日
    37
  • 摄影后期人像高端摄影后期PS修图技巧[通俗易懂]

    摄影后期人像高端摄影后期PS修图技巧[通俗易懂]先自我介绍一下,叶子,职业修图师,从事数码后期行业12余载,擅长人像后期处理,婚纱照商业化修图,热爱摄影,喜欢旅行,总是用照片讲述故事。本文会从什么是**『皮肤质感』**,要修成这样的效果需要什么前置条件以及在过程中我们需要注意哪些核心要点为基准详细展开,意在让大家彻底明白怎样才能做出商业修图的皮肤效果。全文3504字,阅读时间约9分钟,如果觉得不愿意全看的话,可以直接拉到最后看结论。不…

    2022年6月15日
    37
  • MyBatis-Plus 分页查询以及自定义sql分页

    MyBatis-Plus 分页查询以及自定义sql分页一、引言分页查询每个人程序猿几乎都使用过,但是有部分同学不懂什么是物理分页和逻辑分页。物理分页:相当于执行了limit分页语句,返回部分数据。物理分页只返回部分数据占用内存小,能够获取数据库最新的状态,实施性比较强,一般适用于数据量比较大,数据更新比较频繁的场景。逻辑分页:一次性把全部的数据取出来,通过程序进行筛选数据。如果数据量大的情况下会消耗大量的内存,由于逻辑分页只需要读取数据库…

    2022年6月26日
    33
  • 杜教筛 以及积性函数的前世今生 –算法竞赛专题解析(4)「建议收藏」

    杜教筛 以及积性函数的前世今生 –算法竞赛专题解析(4)「建议收藏」最全面的杜教筛讲解、最易懂的杜教筛复杂度证明、杜教筛公式、杜教筛模板。

    2022年7月21日
    24
  • hibernate的hql语句批量删除

    hibernate的hql语句批量删除hibernate使用hql语句,根据条件进行批量删除操作;比如:1.给方法传递一个参数,我传递的是userid2.hql语句编写,根据userid进行删除(我使用了拼接userid的方式进行条件拼接)3.通过createQuery(hql),先到数据库查询满足条件的数据。然后通过executeUpdata()方法进行了批量更新删除操作;具体的代码如下:publicvoidemptycartItm(Integeruserid){//根据条件批量删除Stringhql=“delete

    2022年6月16日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号