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 作业的更多相关文章

  1. day23作业

    # 作业: # 1.把登录与注册的密码都换成密文形式 info = {"tom":"202cb962ac59075b964b07152d234b70"} def ...

  2. day23作业详解

    1.题目 2.题目详解 点击查看详细内容 1. 1-1 封装 把功能封装到类中 class Message(object): def email(self):pass def msg(self):pa ...

  3. Spark Streaming揭秘 Day23 启动关闭源码图解

    Spark Streaming揭秘 Day23 启动关闭源码图解 今天主要分析一下SparkStreaming的启动和关闭过程. 从Demo程序出发,主要聚焦在两段代码: 启动代码: 关闭代码: 启动 ...

  4. day23单例模式 , 日志处理 , 项目结构目录

    # day23笔记 ## 一.补充,作业 ### 1.字符串格式化 ```pythonmsg = "我是%(n1)s,年龄%(n2)s" % {'n1': 'alex', 'n2' ...

  5. python 作业

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

  6. python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)

    类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...

  7. SQLServer2005创建定时作业任务

    SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...

  8. 使用T-SQL找出执行时间过长的作业

        有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , ...

  9. T-SQL检查停止的复制作业代理,并启动

        有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...

随机推荐

  1. 用Java模拟游戏重力的实现(弹跳)

    年末开了Java实训大作业 想了好几天决定选择马里奥小游戏 发现即使做出来但是跳跃功能是很“笨拙”的,和我们玩的游戏不一样,没有跳跃速度的快慢什么的,后来才知道这个叫做游戏里面重力的模拟. 组队做系统 ...

  2. Redis学习笔记(十七) 集群(上)

    Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移操作. 一个Redis集群通常由多个节点组成,在刚开始的时候每个节点都是相互独立的,他们处于一个只包含 ...

  3. 素数筛 : Eratosthenes 筛法, 线性筛法

    这是两种简单的素数筛法, 好不容易理解了以后写篇博客加深下记忆 首先, 这两种算法用于解决的问题是 : 求小于n的所有素数 ( 个数 ) 比如 这道题 在不了解这两个素数筛算法的同学, 可能会这么写一 ...

  4. (三)解决httpclient乱码

    原文链接:https://blog.csdn.net/justry_deng/article/details/81042379

  5. python基础整理(2)

    布尔表达式与其余值的替换 值的测试 Python不仅仅可以使用布尔型变量作为条件,它可以直接在if中使用任何表达式作为条件: 大部分表达式的值都会被当作True,但以下表达式值会被当作False: F ...

  6. laravel向视图传递变量

    向视图中传递变量 我们在开发web应用当中,通常都不是为了写静态页面而生的,我们需要跟数据打交道,那么这个时候,问题就来了,在一个MVC的框架中,怎么将数据传给视图呢?比如我们要在 ArticleCo ...

  7. Spring整合JDBC temple

    一.Spring对Jdbc的支持 Spring为了提供对Jdbc的支持,在Jdbc API的基础上封装了一套实现,以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDB ...

  8. Laya 吐槽日志.

    新换了一个公司,公司有两个产品都是用的laya, 一个as写的2D游戏, 一个ts写的3D游戏 as写小游戏,各种不舒服啊,  一堆 __JS这样的代码,   体验极差. laya IDE 按钮只能做 ...

  9. .Net Core踩坑记:读取txt中文乱码

    迁移.net framework的项目,有块读取txt中文转码的问题,普通的不能再普通的代码,想都没想直接copy过去,也没测,结果今天就被坑了.Core是3.1版本,这是原来的代码: string ...

  10. Beta冲刺--项目测试

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 Beta冲刺--项目测试 作业正文 如下 其他参考文献 ... Beta冲刺 ...