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


相关推荐

  • 菜鸟开发—应具备的搜索技巧[通俗易懂]

    菜鸟开发—应具备的搜索技巧

    2022年1月25日
    40
  • 用Python读取CSV文件的5种方式

    用Python读取CSV文件的5种方式典型的数据集stocks.csv:一个股票的数据集,其实就是常见的表格数据。有股票代码,价格,日期,时间,价格变动和成交量。这个数据集其实就是一个表格数据,有自己的头部和身体。第一招:简单的读取我们先来看一种简单读取方法,先用csv.reader()函数读取文件的句柄f生成一个csv的句柄,其实就是一个迭代器,我们看一下这个reader的源码:喂给reader一个可迭代对象或者是文件的object,然后返回一个可迭代对象。首先读取csv文件,然后用csv.reader生成一个csv迭代器

    2022年7月21日
    10
  • 运筹学单纯形法求解线性规划问题_运筹学单纯形法计算步骤

    运筹学单纯形法求解线性规划问题_运筹学单纯形法计算步骤线性规划是研究在一组线性不等式或等式约束下使得某一线性目标函数取最大(或最小)的极值问题。

    2022年8月6日
    7
  • pythonnumpy模块_python的pandas模块

    pythonnumpy模块_python的pandas模块Python – numpy 模块

    2022年4月22日
    41
  • 自定义 DataLoader[通俗易懂]

    自定义 DataLoader[通俗易懂]自定义DataLoader如数据输入一文所介绍,OneFlow支持两种数据加载方式:直接使用NumPy数据或者使用DataLoader及其相关算子。在大型工业场景下,数据加载容易成为训练的瓶颈。在其它的框架中,数据加载流水线往往作为单独的模块存在,需要针对不同场景进行调整,通用性不高。在OneFlow中,DataLoader及相关预处理算子,与其它普通算子地位等同,可以享受与其它算子一样的流水加速效果,轻松解决大规模数据加载的痛点。在OneFlow中使用DataLoader

    2022年5月23日
    96
  • CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」

    CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」CefSharp是做什么用的?请看前一篇文章:怎么用c#编写浏览器或者执行javascript代码?之后就是如何开发了。这个CefSharp最坑的是,还早不到文档,只能看着官方给的例子开发。项目地址那么就可以看到,带有example的都是例子。我给大家举2个例子。1.事件添加:我想让我的程序出了网页上的js代码,再额外的执行我自己写的js,怎么办呢?InitializeCom

    2022年9月19日
    2

发表回复

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

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