ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jason、pickle、configparser、hashlib、subprocess模块 练习

2020-03-31 17:56:48  阅读:236  来源: 互联网

标签:username hashlib utf s1 subprocess strip print Jason password


# 作业:
# 1、把登录与注册的密码都换成密文形式
'''
import hashlib
def register():
s = hashlib.md5()
username = input('请输入用户名: ').strip()
s.update(username.encode('utf-8'))
s1 = s.hexdigest()
password = input('请输入密码: ').strip()
re_password = input('请输入密码: ').strip()
s.update(password.encode('utf-8'))
s2 = s.hexdigest()
print(s1,s2)
if password == re_password:
with open('user.txt',mode='at',encoding='utf-8')as f:
f.write('{}:{}'.format(s1,s2))
print(f'[{username}]注册成功')
else:
print('注册失败!')

register()
'''
'''
import hashlib
dic={}
def login():
while True:
with open('user.txt',mode='rt',encoding='utf-8')as f:
for line in f:
user,pwd=line.strip().split(':')
dic[user]=pwd
username = input('请输入用户名: ').strip()
s = hashlib.md5()
s.update(username.encode('utf-8'))
s1 = s.hexdigest()
if s1 in dic:
password = input('请输入密码: ').strip()
s.update(password.encode('utf-8'))
s2 = s.hexdigest()
if s2 == dic[s1]:
print('登录成功!')
pass
else:
print('登录失败!')
else:
print('用户名不存在,请重新输入或注册!')
pass

login()
'''
# 2、文件完整性校验(考虑大文件)
'''
有问题
import hashlib
with open(r'01 json与pickle模块.py', mode='rt',encoding='utf-8') as f1,open('new.py',mode='wt',encoding='utf-8')as f2:
data1 = f1.read()
s = hashlib.md5()
s.update(data1.encode('utf-8'))
s1 = s.hexdigest()
print(s1)
f2.write(data1)
while True:
with open('new.py',mode='rt',encoding='utf-8')as f3:
data2=f3.read()
s.update(data1.encode('utf-8'))
s2 = s.hexdigest()
print(s2)
if s1 == s2:
print('复制成功!')
else:
print('复制失败!')
break
'''
# 3、注册功能改用json实现
'''
import json
def register():
username = input('请输入用户名: ').strip()
username=json.dumps(username)
password = input('请输入密码: ').strip()
re_password = input('请输入密码: ').strip()
if password == re_password:
password = json.dumps(password)
with open('user.txt',mode='at',encoding='utf-8')as f:
f.write('{}:{}\n'.format(username,password))
print(f'[{username}]注册成功')
else:
print('注册失败!')

register()
'''
# 4、项目的配置文件采用configparser进行解析
'''
有问题
import configparser
s=configparser.ConfigParser()
s.read('settings.ini')
print(s.sections())
'''

标签:username,hashlib,utf,s1,subprocess,strip,print,Jason,password
来源: https://www.cnblogs.com/0B0S/p/12606855.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有