注册功能实现 | 学习笔记

简介: 快速学习 注册功能实现

开发者学堂课程【Python入门 2020年版注册功能实现】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10433


注册功能实现


内容介绍:

一.注册

二.定义字典

三.面向对象的使用

四.对密码进行加密

五.双重加密


一、注册的编码

def register():
while True:
teacher_name =input('
请输入账号(3~6):')

if  not 3<=len(teacher_name)<=6:
print('
账号不符合要求, 请重新输入!')

else:
break
while True:
password = input('
请输入密码(6~12):')

if not 6<=1en(password)<=12:
print('
密码不符合要求,请重新输入!')

else:
break

运行结果:

**欢迎来到学生管理系统**
1.登录
2.注册
3.退出
请选择(1-3):2

请输入账号(3~6): ho

账号不符合要求,请重新输入!

请输入密码(6~12):helsodl

账号不符合要求,请重新输入!

请输入账号(3~6):hello

请输入密码(6~12):fergethiweoregisfkoerisf

密码不符合要求,请重新输入!
请输入密码(6~12):34hreoeqrpwig
密码不符合要求,请重新输入!
请输入密码(6~12):iqretfiojewfa
密码不符合要求,请重新输入!
请输入密码(6~12):123456

**欢迎来到学生管理系统**1.登录
2.注册
3.退出


.定义字典

1#用户名密码都已经输入正确以后{'zhangsan':'123456'}

teacher.={}..#定义一个空的字典,将老师添加到字典里

teacher[teacher_name] = password
print(teacher)

注:

注册一次就定义一次,所以只保留最后一次注册,存在覆盖现象,所以要将“teacher.={}..#定义一个空的字典,将老师添加到字典里”放在代码的最前端,保证每次注册都放在同一个字典里面。

(2)     将信息保存在文件夹里,编写以下程序

def write_ json(file_name,data):
with open(base__dir+file_name,'w',encoding='utf8')as file:import json
json.dump(data,file)}

注:在真正开发时不用文件输入数据而是数据库输入。


.面向对象的使用

注:不要使用追加,会使代码错误,不是一个字典

import sys
import file_ manager
teacher{}
# 定义一个空的字典,将老师添加到字典里

def register():
while True:
teacher_name = input('
请输入账号(3~6):')

if not 3<=len(teacher_name)<=6:
print('
账号不符合要求,请重新输入!')

else:
break
while True:
password = input('
请输入密码(6~12):')

if not 6 <= len(password) <= 12:
print('
密码不符合要求, 请重新输入!')

else:
break

#
用户名密码都已经输入正确以后{'zhangsan':'123456'}

teacher[teacher_ name] = password

file_ manager.write_json("teacher.json.teacher)
print (teacher)

运行结果**欢迎来到学生管理系统**

1.登录
2.注册
3.退出
请选择(1-3):2

请输入账号(3~6):zhang

请输入密码(6~12):132453435

请选择(1-3):2

请输入账号(3~6):lisi

请输入密码(6~12):1324rw4353
{'zhang':'132453435'
'lisi':'1324rw4353'}


.对密码进行加密

import hashlib

def encrypt_password(passwd)

h=hashlib.sha256()
h.update(passwd.encode(
utf8))
return h.hexdigest()
Python3.7.6(tags/v3.7.6:43364a7ae0,Dec19 2019,00:42:30)[MSCv.1916In[2]:import hashlib
In[3]:h1=hashlib.md5()
In[4]:h1.update('hello'.encode('utf8'))


.双重加密

import hashlib
def encrypt_password(passwd,x)

h=hashlib.sha256()
h.update(passwd.encode('utf8')
h.update(x.encode('utf8'))
return h.hexdigest()
Python3.7.6(tags/v3.7.6:43364a7ae0,Dec19 2019,00:42:30)[MSCv.1916In[2]:import hashlib
In[3]:h1=hashlib.md5()
In[4]:h1.update('hello'.encode('utf8'))

In[5]:h1.update('world'.encode('utf8'))
In[6]:h1.hexdigest()
0ut[6]:'fc5e038d38a57032085441e7fe7010b0'
In[7]:h2=Ihashlib.md5()
In[8]:h2.update('helloworld'.encode('utf8'))In[9]

In[9]:h2.hexdigest()
0ut[9]:'fc5e038d38a57032085441e7fe7010b0"

注:

1x 可以取任意值

(2)data 值不能为空

#读取文件,查看文件里是否有数据。如果文件不存在,默认是一个字典

data= file_manager.read_json('data.json')

(3)读取文件

def read_json(file_name):
try:
with open(base__dir + file_name,'r',encoding='utf8')asfile:

import json
return json.load(file)
except FileNotFoundError:
print('
文件未找到')

注:

当文件未找到时则 data 为空,将确定一个默认值,读取不到就返回默认值 default_data,空的文件读取会出错,要满足 json 的格式才行。

相关文章
|
9月前
|
存储 数据安全/隐私保护 开发者
小白必看系列之图书管理系统-登录和注册功能示例代码
小白必看系列之图书管理系统-登录和注册功能示例代码
81 1
|
10月前
|
安全 NoSQL Java
项目实战15—登录之后我加入的课程调用接口报错
项目实战15—登录之后我加入的课程调用接口报错
65 0
|
10月前
|
NoSQL Java Redis
【项目实战典型案例】15.登录之后我加入的课程调用接口报错
【项目实战典型案例】15.登录之后我加入的课程调用接口报错
【项目实战典型案例】15.登录之后我加入的课程调用接口报错
|
12月前
|
前端开发
前端学习笔记202304学习笔记第六天-了解组件的的两种注册方式
前端学习笔记202304学习笔记第六天-了解组件的的两种注册方式
43 0
|
API 数据库 数据安全/隐私保护
eggjs 怎么实现用户注册功能?
eggjs 怎么实现用户注册功能?
114 0
eggjs 怎么实现用户注册功能?
|
NoSQL Java 数据库
注册功能(接口)| 学习笔记
快速学习 注册功能(接口)
348 0
注册功能(接口)| 学习笔记
|
XML 存储 Java
登录功能(接口) | 学习笔记
快速学习登录功能(接口)
229 0
|
数据安全/隐私保护 开发者 微服务
登录功能(接口问题解决) | 学习笔记
快速学习登录功能(接口问题解决)
81 0
登录功能(接口问题解决) | 学习笔记
|
开发者 Python
修改用户功能实现 | 学习笔记
快速学习 修改用户功能实现
81 0
|
测试技术 Shell 数据安全/隐私保护
接口测试平台代码实现14:注册功能和后台管理
本节先说说我们上节课的弊端,就是我们在测试的时候,很难先测试登陆状态去访问/home/ 然后再测试非登陆状态去访问/home/这条用例。
接口测试平台代码实现14:注册功能和后台管理