Python3中的hashlib的md5加密实现

下面是以注册和登录来做为例子

import hashlib def md5(pwd):obj = hashlib.md5("dfdfderewcsf".encode('utf-8'))  # 加盐 obj.update(pwd.encode('utf-8'))password = obj.hexdigest()return passworddef register():user = input("username: ")pwd = input("password: ")password = md5(pwd)# 注册信息存到 users.txt 文件里with open("users.txt", mode='a', encoding='utf-8') as f:line = "username: {} | password: {}\n".format(user, password)f.write(line)def login():user = input("username: ")pwd = input("password: ")password = md5(pwd)isSuccess = Falsewith open("users.txt", mode='r', encoding='utf-8') as f:for line in f:line = line.strip()dbUser, dbPwd = line.split('|')if dbUser.strip().split(':')[1].strip() == user and dbPwd.strip().split(':')[1].strip() == password:isSuccess = True break if isSuccess:print("登录成功")else:print("登录失败")def run():func_dict = {"1": register,"2": login}print("1. 注册   2. 登录")choice = input("序号:")func = func_dict.get(choice)if not func:print("输入错误")else:func()if __name__ == '__main__':run()

结果如下:

# 注册1. 注册   2. 登录
序号:1
username: 4
password: 1
# 登录1. 注册   2. 登录
序号:2
username: 4
password: 1
登录成功

给个赞呗~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/824942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么直连某个服务器的dubbo服务

有时候我们可能和别的部门或者业务之间共同开发某个需求,这个时候,我们可能环境不统一,我们调用在做dubbo调用的时候,可能会调用到其他的环境,导致无法引用对方最新的代码及逻辑,所以,在某些时候…

图书管理系统概述

自友图书馆管理系统解决方案适用于中小学、大中专院校以及企事业单位中小型图书馆的自动化管理需求,其功能覆盖了图书馆自动化集成管理业务流程所包括的所有环节。《图书馆管理系统》首先应该按照我国图书馆行业通用CNMARC格式及《中图法第四版》行业标准开发而成,支…

利用Python进行文本预处理的过程(英文)

文本清理的主要目标是什么? 数据质量改进:文本数据通常包含错误、不一致和不相关的内容。清理有助于确保数据准确、可靠和一致。 降噪:文本数据中的噪声可能包括特殊字符、HTML 标签、标点符号和其他对分析或建模目标无益的元素。清洁可以消…

linux运行ant 报错 Unable to locate tools.jar【已解决】

linux安装 ant 运行时报错 Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/lib/tools.jar 原因 已安装的jdk只有运行环境,没有tool.jar,而ant运行需要java开发环境,因…

蓝桥杯算法题:小数第n位

问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。   如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开…

第47篇:简易处理器<一>

Q:本期我们开始介绍一种数字系统----简易处理器,可以执行由指令指定的各种操作。 A:简易处理器包含多个9位寄存器、一个数据选择器、一个加/减法器单元和一个控制单元(有限状态机)。 数据选择器:可以将输入数据加载到各种寄存器&…

计算机网络-IS-IS基础概念二

前面已经学习了IS-IS的定义、组成、NET地址标识以及路由器级别分类等,今天继续学习IS-IS基础概念知识。 参考链接:IS-IS路由协议基础概念 一、IS-IS支持的网络类型 IS-IS会自动根据接口的数据链路层封装决定该接口的缺省网络类型, IS-IS支持两…

锋从东方来——张小泉厨刀的文化印记

在众多厨房用品中,刀具占据着无可替代的地位。作为中国历史悠久的刀具品牌,张小泉以其精湛的制刀技术和独到的设计理念,成为了国内外烹饪领域的宠儿。自明朝以来,这一品牌不断演变,今天我们探索的不仅是一把厨刀的故事…

了解 PostCSS:一个强大的 CSS 处理工具

在前端开发领域,CSS 是设计和构建网页样式的基础。然而,随着项目复杂性的增加,常规的 CSS 开发工作可能变得繁琐且难以维护。PostCSS 是一个强大的工具,旨在解决这些挑战,并提供了一种灵活的方式来处理 CSS。在本文中&…

Linux下SPI驱动:SPI设备驱动简介

一. 简介 Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。 本文来学习一下Linux下SPI设备驱动。 二. Linux下SPI驱动:SP…

桐乡——PS中的三个功能键 你知道吗

PS中的三个功能键(2) CTRL功能键位于键盘的左下角,其使用频率在PS中最高。 CTRL按钮具有强制和控制功能。我们经常在一些常规操作中使用它。例如,当您需要选择一个图层时,请按住CTRL键,然后单击要选择的图层…

物联网智能互联创新开发平台

物联网智能互联创新开发平台在职业教育方面的发展前景广阔且充满潜力。随着物联网技术的不断发展和应用领域的扩大,对物联网专业人才的需求也在日益增长。因此,物联网智能互联创新开发平台在职业教育领域的应用将具有重要意义。 一、发展前景 1) 为职业…

Biome 1.7 发布,支持从 ESLint 和 Prettier 迁移

近日,Biome v1.7 正式发布!这个新版本提供了从 ESLint 和 Prettier 迁移的简单路径。它还引入了格式化程序和 linter 的实验性机器可读报告、新的 linter 规则和许多修复。 使用以下命令更新 Biome: npm install --save-dev --save-exact b…

Mysql的用户创建、授权(只读)等用户权限体系

MySQL的用户创建、授权以及权限管理体系是其核心功能之一。 1.用户创建 可以使用CREATE USER语句来创建一个新用户。例如,要创建一个名为newuser,密码为password的用户,你可以执行以下命令: CREATE USER newuserlocalhost ID…

larael-admin汉化配置中文

larael-admin汉化配置中文 初始化的laravel-admin框架,界面默认是英文,上干货,配置中文的步骤。 一、执行 composer require "overtrue/laravel-lang:~3.0"; 二、将项目文件 config/app.php中的 Illuminate\Transla…

一篇文章带你快速认识区块链(必看)

引言 区块链技术,这一划时代的分布式账本技术,正在全球范围内掀起一场深度的信任与协作模式变革。区块链如同一部由多方共同维护的公开而又安全的大账本,每一笔交易都被打包成一个区块,通过高级密码学手段确保传输和访问安全&…

Qt——xml文件生成DBus接口

1. 如何根据xml文件生成Dbus接口 要使用 XML 文件生成 D-Bus 接口&#xff0c;你可以按照以下步骤操作&#xff1a; 步骤 1: 准备 XML 文件 确保你的 XML 文件遵循 D-Bus 的接口描述规范。这通常包括定义接口、方法、信号和属性。一个基本的例子如下&#xff1a; <!DOCTYPE…

Axure如何实现限制选择项数量的交互

大家经常会看到这样的功能设计&#xff1a;可以多选&#xff0c;但是限制多选。比如某招聘网站城市的选择只能选择5个。再选择第6个的时候会提示最多只能选择5项。 这个效果是我们经常会遇到的&#xff0c;在工作中也经常会遇到需要制作这样的效果。今天我们一起来看看&#xf…

RabbitMQ-交换机

文章目录 交换机fanoutDirecttopicHeadersRPC 交换机 **交换机 **是消息队列中的一个组件&#xff0c;其作用类似于网络路由器。它负责将我们发送的消息转发到相应的目标&#xff0c;就像快递站将快递发送到对应的站点&#xff0c;或者网络路由器将网络请求转发到相应的服务器…

从二本调剂到上海互联网公司算法工程师:我的成长故事

探讨选择成为一名程序员的原因&#xff0c;是出于兴趣还是职业发展&#xff1f; 在这个科技飞速发展的时代&#xff0c;程序员这一职业无疑成为了许多人眼中的香饽饽。那么&#xff0c;是什么驱使着越来越多的人选择投身于这一行业呢&#xff1f;是出于对编程的热爱&#xff0…