# python学习——课后练习 (1未日志读取)

# python学习23——课后练习


# 方便下面题目操作的函数


# 1、把登录与注册的密码都换成密文形式
#加密加盐
def pwd_md5(password):
    res=hashlib.md5()
    res.update('天王盖地虎'.encode('utf8'))#记得编编码处理uodate()   md5今晚再练习几遍
    res.update(password.encode('utf8'))
    res.update('宝塔阵河妖'.encode('utf8'))
    return res.hexdigest()  #提取追后全部列表结果的加密程序
pwd_md5('被加密密码')
密码也是一样加密比对

 


# # 方法2
import hashlib
m=hashlib.md5()
# 需要时调用
m.update(加密.encode('utf8'))  #记得编码

 



# 2、文件完整性校验(考虑大文件)
import hashlib
m=hashlib.md5()
def a():
    with open('a.txt',mode='r',encoding='utf8')as f:
        l=[10,20,30]                                  #利用seek取值方法截断  类似切片
        for i in l:                                   #再列表中循环后添加到seek中  ”t“模式只支持0(指针当前位置)   #2追后负数往前取但是不支持t 模式1最前 取2同理
          f.seek(i,0)
          res=f.read(100)
          res1=m.update(res.encode('utf8'))                    #记得取值对比
        return res1
def b():
    with open('a.txt',mode='r',encoding='utf8')as f:
        l = [10, 20, 30]
        for i in l:
            f.seek(i, 0)
            res = f.read(100)
            res1=m.update(res.encode('utf8'))
        if res1==a():
            print('文件完整')
        else:
            print('文件不完整')

b()

 



# 3、注册功能改用json实现
import json

user_naem=eval(input('请输入用户名'))
user_pwd=input('请输入密码')

with open('a.json',mode='w',encoding='utf8')as f:
    json.dump(f'{user_naem}:{user_pwd}',f)                一般只接受两个一个是指针另一个是等类型变量  外ps:ensure_ascii=False  可显示中文

 



# 4、项目的配置文件采用configparser进行解析
posted @ 2021-03-27 23:16  欧阳锦涛  阅读(39)  评论(0)    收藏  举报
TOP 底部