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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 中介者模式和观察者模式的区别_外观模式和中介者模式异同点

    中介者模式和观察者模式的区别_外观模式和中介者模式异同点中介者模式 Mediator动机模式定义结构要点总结笔记动机在软件构建过程中,经常会出现多个多个对象相互关联交互的情况,对象之间常常会维持一种复杂的引用关系.如果遇到一些需求的更改.这种直接的引用关系将面临不断地变化这种情况下,我们可以使用一个”中介对象”来管理对象间地关联关系,避免相互交互地对象之间地紧耦合引用关系,从而更好地抵御变换模式定义用一个中介对象来封装(封装变化)一系列地对象交互中.中介者使各个对象不需要显式地相互引用(编译时依赖->运行时依赖),从而使其耦合松散(管理变化),而

  • python正则表达式匹配 模式匹配[通俗易懂]

    python正则表达式匹配 模式匹配[通俗易懂]Python正则式的基本用法初学Python,对Python的文字处理能力有很深的印象,除了str对象自带的一些方法外,就是正则表达式这个强大的模块了。但是对于初学者来说,要用好这个功能还是有点难度

  • svn安装及使用(身体功能手册)

        下载`TortoiseSVN官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/下载完成后是这样的 安装TortoiseSVN:此处的安装地址建议不动,当然你也可以选择你要安装的地址安装完成后在桌面点击右键查看如果有标记的两个文件说明已经安装成功.如果感觉英语看到有点困难的可以安装汉化TortoiseSVN:下载语…

  • python hexdump_hexdump用法[通俗易懂]

    python hexdump_hexdump用法[通俗易懂]可用参数[-bcCdovx][-eformat_string][-fformat_file][-nlength][-sskip]file…参数含义:-b单字节八进制显示,十六进制显示偏移量,每行显示16个字符,每字符用三位显示,不足补零,列间以空格分隔-c单字节字符显示,十六进制显示偏移量,每行显示16个字符,每字符三位显示,不足补空格,列间以空格分隔-C标准十六进制…

  • python常用模块大全_python3内置模块大全

    python常用模块大全_python3内置模块大全mathmath.ceil(a):用来返回≥a的最小整数math.floor(a):用来返回≤a的最大整数round(a[,b])如果没有参数b,只有a,round()作用是四舍五入如果

  • 输入内容,出现像Atom + activate-power-mode插件的彩色粒子效果

    输入内容,出现像Atom + activate-power-mode插件的彩色粒子效果最近在看python,然后看到tendcode的评论有个很好玩的效果输入框输入后,会有个彩色的粒子效果,觉得很好看,在网上找了一下,可是没找到对应的案例和实现方法,只看到了Atom编辑器的activate-power-mode插件有同样的效果,最后只有自己看源码,看了半天代码,终于让我把实现代码给找到了,案例在GitHub地址Color-particles里,喜欢的可以下载,下面展示成果…

发表回复

您的电子邮箱地址不会被公开。

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