# 作业:
# 1、把登录与注册的密码都换成密文形式 info = {"tom":"202cb962ac59075b964b07152d234b70"}
def login():
import hashlib
name = input("Name:").strip()
pwd = input("Password:").strip()
m = hashlib.md5()
m.update(pwd.encode("utf-8"))
h_v = m.hexdigest()
if name in info and h_v == info[name]:
print("登陆成功")
else:
print("登陆失败") def register():
import hashlib
global info
while True:
name = input("请输入待注册的用户名:").strip()
if name in info:
print("用户名已存在,请重新输入")
continue
pwd = input("请输入用户密码:").strip().encode("utf-8")
m = hashlib.md5(pwd)
pwd_hash = m.hexdigest()
info[name] = pwd_hash
print("注册成功")
break # 2、文件完整性校验(考虑大文件)
import hashlib def check_file(file_path):
import hashlib
with open(file_path,"rb") as f:
f.seek(0, 2)
# 先得到最大的文件bytes数
b_size = f.tell()
b_hash = b""
for i in range(4):
b_size //= 8
f.seek(b_size)
b_hash += f.read(5)
m = hashlib.md5(b_hash)
print(m.hexdigest()) # 3、注册功能改用json实现
import json def register_json(): with open("info","r",encoding="utf_8") as f:
info = json.load(f)
while True:
name = input("请输入注册名:").strip()
if name in info:
print("用户名已存在。")
continue
pwd = input("输入用户名密码:").strip()
info[name] = pwd
with open("info","r",encoding="utf_8") as f:
json.dump(info,f)
print("注册成功、") # 4、项目的配置文件采用configparser进行解析
import configparser config = configparser.ConfigParser()
config.read("a.ini")

day23作业的更多相关文章

  1. day23 作业

    day23 作业 目录 day23 作业 1.把登录与注册的密码都换成密文形式 2.文件完整性校验(考虑大文件) 3.注册功能改用json实现 4.项目的配置文件采用configparser进行解析 ...

  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. u库前戏

    u库 ORM:对象关系映射 类 >>> 数据库的一张表 对象 >>> 表的一条记录 对象点属性 >>> 记录某一个字段对应的值 ''' 对象就是一 ...

  2. python浅学【网络服务中间件】之Celery

    一.关于Celery: 什么是任务队列: 任务队列一般用于线程或计算机之间分配工作的一种机制. 任务队列的输入是一个称为任务的工作单元,有专门的工作进行不断的监视任务队列,进行执行新的任务工作. 什么 ...

  3. STM8L152的EEPROM读写(使用固件库)

    STM8L系列单片机内置1K字节的EEPROM,使用起来很方便. EEPROM的地址为: 使用1.6.1的固件库 void EEPROM_Write_Byte(uint16_t Addr,uint8_ ...

  4. Webpack抽离第三方类库以及common解决方案

    前端构建场景有两种,一种是单页面构建,另一种是多入口构建多页面应用程序(我视野比较小,目前就知道这两种),下面我们针对这两种场景总结了几种抽离第三方类库以及公共文件的解决方案. 如果有哪些地方优化不周 ...

  5. 面试刷题24:介绍一枚 JAVA妹妹?

    java提供的自动垃圾收集机制大大提高了程序员的开发效率. 但是自动垃圾收集不是万能的,明确jvm的内存结构,工作机制是设计高扩展应用的基础. 也是诊断jvm运行时问题的必备技能. 我是李福春,我在准 ...

  6. ICML 2019论文录取Top100:谷歌霸榜

    [导读]人工智能顶级会议ICML 2019发布了今年论文录取结果.提交的3424篇论文中,录取了774篇,录取率为22.6%,较去年有所降低.从录取论文数量来看,谷歌成为今年最大赢家,紧随其后的是MI ...

  7. 潘粤明的《龙岭迷窟》到底怎么样?我用 Python 得出了一些结论!

    对于天下霸唱的鬼吹灯,相信很多小伙伴都知道,它可谓是国内盗墓寻宝系列小说的巅峰之作,最近得知该系列小说的<龙岭迷窟>部分被制作成了网剧,已经于 4 月 1 日开播了,主要演员潘粤明.姜超. ...

  8. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  9. 《Java基础复习》—常识与入门

    突然发现自己Java基础的底子不到位,复习! 所记知识会发布在CSDN与博客网站jirath.cn <Java基础复习>-常识与入门 一.Java语言的知识体系图 分为三部分 编程语言核心 ...

  10. JQ前端上传图片显示在页面以及发送到后端服务器

    // 单张上传照片     html: <div class="azwoo"></div> <div class="azwot"& ...