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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大学微积分函数的极限_微积分基本公式求极限

    大学微积分函数的极限_微积分基本公式求极限LaTeX语法参考:http://www.mohu.org/info/lshort-cn.pdf第一讲:函数实数与数轴,实数集(区间、邻域)。有界集与确界。函数及常用函数(函数三要素、数列(整标函数)、基本初等函数、初等函数)。【分段函数是否一定非初等;y​​=&Negati

    2022年8月11日
  • pytest接口自动化测试框架_pytest接口自动化框架

    pytest接口自动化测试框架_pytest接口自动化框架pytest接口自动化完整框架思维导图

    2022年7月30日
  • python字符串删除指定符号(不限位置)「建议收藏」

    python字符串删除指定符号(不限位置)「建议收藏」python中去掉字符串中某些不想要的字符:1、一般的可以用replace()这个函数不限定位置,是可以替换原来不想要的字符,替换成空字符就相当于删除了2、也可以用strip(),删除两边的字符(默认是删除左右空格)rstrip(),lstrip()这两个可以选择只删除左边或者右边3、re.sub这个可以根据正则删除,此处是删除串中的数字1-9,字符a-z,A-Z,还可以加其他的importrestr=”aksj2343ngr4545g黄金叶子fg”temp=re.sub(‘[a

    2022年6月4日
  • 获取新浪可转债t+0列表,附上python代码

    ​​​​​​​@classmethoddefget_page_convertibleBonds(cls,pageIndex,retry_count=10):url=”http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeDataSimple?page=%d&num=1000&sort=symbol&asc=1&node=h..

    2022年4月9日
  • Java方法重载_java入门方法的使用

    Java方法重载_java入门方法的使用在Java中,同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载(methodoverloading)。参数列表又叫参数签名,包括参数的类型、参数的个数、参数的顺序,只要有一个不同就叫做参数列表不同。重载是面向对象的一个基本特性。publicclassDemo{ //一个普通得方法,不带参数,无返回值 publicvoidadd(){ //met…

    2022年10月30日
  • Android触摸事件_简述兴奋在突触的传递过程

    Android触摸事件_简述兴奋在突触的传递过程版本:2.0日期:2014.3.21 2014.3.29 版权:©2014kince转载注明出处  一、基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突。比如在使用SliddingMenu菜单的时候,可能会与ViewPager或者其他的一些带有滑动事件的View相冲突,再比如ScrollView嵌套ListView相冲突等等。还有就是在自定义控件的时候,需

    2022年9月10日

发表回复

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

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