py-md5登录注册

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

#MD5

import hashlib,random
#加密:
def get_md5(s):
	return hashlib.md5(s.encode('utf-8')).hexdigest()
#构建User类
class User(object):
	def __init__(self,name,password):
		self.name = name
		self.salt = ''.join([chr(random.randint(48, 122)) for i in range(20)])
		self.password = get_md5(password + self.salt)
	
#存储用户数据
dbUser = {}

#注册
def register(name,password):
	if name not in dbUser.keys():
		dbUser[name] = User(name,password)
		return True
	else:
		return False
		
#登录
def login(name,password):
	
	if name in dbUser.keys():
		user = dbUser[name]
		if user.password == get_md5(password + user.salt): 
			return True
		else:
			return False
		return True
	else:
		return False
	
#测试
print('注册:',register('michael', '123456')) 
print('注册:',register('bob', 'abc999')) 
print('注册:',register('bob', 'alice2008')) 
print('登录:',login('michael', '123456')) 
print('登录:',login('michael', '1234561')) 
print('登录:',login('michael1', '1234561')) 
print('登录:',login('bob', 'abc999'))

测试结果:

猜你喜欢

转载自blog.csdn.net/qq_35355153/article/details/82114861