Discuss / Python / 这应该就是伪随机原理吧?

这应该就是伪随机原理吧?

Topic source

天命破凰

#1 Created at ... [Delete] [Delete and Lock User]

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)代替,否则会重新随机一次


  • 1

Reply