day23 作业
day23 作业
1、把登录与注册的密码都换成密文形式
import hashlib
def register():
m = hashlib.md5()
username = input("请输入要注册的账号:")
password = input("请输入要注册的密码:")
password2 = input("请再次输入的密码:")
if password==password2:
m.update(password.encode("utf-8"))
res = m.hexdigest()
print(res)
with open("db.txt","a",encoding="utf-8")as f:
f.write(f'{username}:{res}\n')
def login():
user_inp = input("请输入你的账号:")
pwd_inp = input("请输入你的密码:")
with open("db.txt","r",encoding="utf-8")as f1:
user = hashlib.md5()
user.update(pwd_inp.encode("utf-8"))
res = user.hexdigest()
for line in f1:
username,password = line.strip().split(":")
if user_inp ==username:
if res == password:
print("登录成功")
return
else:
print('密码错误')
else:
print("账号不存在")
register()
login()
2、文件完整性校验(考虑大文件)
def official_file_hx():
with open("official_file","rt",encoding="utf-8")as f :
l = [20, 30, 40]#l根据需求改变
m = hashlib.md5()
for i in l :
f.seek(i,0)
res = f.read(5)
m.update(res.encode("utf-8"))
res = m.hexdigest()
return res
def download_file_hx():
with open("download_file","rt",encoding="utf-8")as f :
l = [20,30,40]
m = hashlib.md5()
for i in l:
f.seek(i,0)
msg = f.read(5)
m.update(msg.encode("utf-8"))
res = m.hexdigest()
if res == official_file_hx():
print("文件完整")
else:
print("文件不完整")
download_file_hx()
3、注册功能改用json实现
import json
def register():
m = hashlib.md5()
username = input("请输入要注册的账号:")
password = input("请输入要注册的密码:")
password2 = input("请再次输入的密码:")
if password==password2:
m.update(password.encode("utf-8"))
res = m.hexdigest()
print(res)
with open("db.txt","a",encoding="utf-8")as f:
# f.write(f'{username}:{res}\n')
user_dict = {username:res}
json.dump(user_dict, f)
register()
4、项目的配置文件采用configparser进行解析
text.ini
[section1]
k1 = v1
k2:v2
user=egon
age=18
is_admin=true
salary=31
[section2]
k1 = v1
import configparser
config = configparser.ConfigParser()
config.read('text.ini')
print(config.sections())
print(config.options('section1'))
print(config.items('section1'))
res= config.get('section1','is_admin')
print(res,type(res))
print(config.getint('section1','age'))
print(config.getfloat('section1','age'))
print(config.getboolean('section1','is_admin'))
day23 作业的更多相关文章
- day23作业
# 作业: # 1.把登录与注册的密码都换成密文形式 info = {"tom":"202cb962ac59075b964b07152d234b70"} def ...
- day23作业详解
1.题目 2.题目详解 点击查看详细内容 1. 1-1 封装 把功能封装到类中 class Message(object): def email(self):pass def msg(self):pa ...
- Spark Streaming揭秘 Day23 启动关闭源码图解
Spark Streaming揭秘 Day23 启动关闭源码图解 今天主要分析一下SparkStreaming的启动和关闭过程. 从Demo程序出发,主要聚焦在两段代码: 启动代码: 关闭代码: 启动 ...
- day23单例模式 , 日志处理 , 项目结构目录
# day23笔记 ## 一.补充,作业 ### 1.字符串格式化 ```pythonmsg = "我是%(n1)s,年龄%(n2)s" % {'n1': 'alex', 'n2' ...
- python 作业
Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...
- python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)
类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...
- SQLServer2005创建定时作业任务
SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...
- 使用T-SQL找出执行时间过长的作业
有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下: SELECT sj.name , ...
- T-SQL检查停止的复制作业代理,并启动
有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...
随机推荐
- 用Java模拟游戏重力的实现(弹跳)
年末开了Java实训大作业 想了好几天决定选择马里奥小游戏 发现即使做出来但是跳跃功能是很“笨拙”的,和我们玩的游戏不一样,没有跳跃速度的快慢什么的,后来才知道这个叫做游戏里面重力的模拟. 组队做系统 ...
- Redis学习笔记(十七) 集群(上)
Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移操作. 一个Redis集群通常由多个节点组成,在刚开始的时候每个节点都是相互独立的,他们处于一个只包含 ...
- 素数筛 : Eratosthenes 筛法, 线性筛法
这是两种简单的素数筛法, 好不容易理解了以后写篇博客加深下记忆 首先, 这两种算法用于解决的问题是 : 求小于n的所有素数 ( 个数 ) 比如 这道题 在不了解这两个素数筛算法的同学, 可能会这么写一 ...
- (三)解决httpclient乱码
原文链接:https://blog.csdn.net/justry_deng/article/details/81042379
- python基础整理(2)
布尔表达式与其余值的替换 值的测试 Python不仅仅可以使用布尔型变量作为条件,它可以直接在if中使用任何表达式作为条件: 大部分表达式的值都会被当作True,但以下表达式值会被当作False: F ...
- laravel向视图传递变量
向视图中传递变量 我们在开发web应用当中,通常都不是为了写静态页面而生的,我们需要跟数据打交道,那么这个时候,问题就来了,在一个MVC的框架中,怎么将数据传给视图呢?比如我们要在 ArticleCo ...
- Spring整合JDBC temple
一.Spring对Jdbc的支持 Spring为了提供对Jdbc的支持,在Jdbc API的基础上封装了一套实现,以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDB ...
- Laya 吐槽日志.
新换了一个公司,公司有两个产品都是用的laya, 一个as写的2D游戏, 一个ts写的3D游戏 as写小游戏,各种不舒服啊, 一堆 __JS这样的代码, 体验极差. laya IDE 按钮只能做 ...
- .Net Core踩坑记:读取txt中文乱码
迁移.net framework的项目,有块读取txt中文转码的问题,普通的不能再普通的代码,想都没想直接copy过去,也没测,结果今天就被坑了.Core是3.1版本,这是原来的代码: string ...
- Beta冲刺--项目测试
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 Beta冲刺--项目测试 作业正文 如下 其他参考文献 ... Beta冲刺 ...