import hashlib, random
def get_md5(s): return hashlib.md5(s.encode('utf-8')).hexdigest()
class User(object): def init(self, username, password): self.username = username self.salt = ''.join([chr(random.randint(48, 122)) for i in range(20)]) self.password = get_md5(password + self.salt) db = { 'michael': User('michael', '123456'), 'bob': User('bob', 'abc999'), 'alice': User('alice', 'alice2008') }
def login(username, password): user = db[username] return user.password == get_md5(password+user.salt) #注意这里用的是user.salt
最后一句不能用User(username,password)代替,否则会重新随机一次
Sign in to make a reply
天命破凰
import hashlib, random
def get_md5(s): return hashlib.md5(s.encode('utf-8')).hexdigest()
class User(object): def init(self, username, password): self.username = username self.salt = ''.join([chr(random.randint(48, 122)) for i in range(20)]) self.password = get_md5(password + self.salt) db = { 'michael': User('michael', '123456'), 'bob': User('bob', 'abc999'), 'alice': User('alice', 'alice2008') }
def login(username, password): user = db[username] return user.password == get_md5(password+user.salt) #注意这里用的是user.salt
最后一句不能用User(username,password)代替,否则会重新随机一次