Discuss / Python / 问题

问题

Topic source

我有个问题就是,第二题使用这种方式只能保证在事先将 db = { 'michael': User('michael', '123456'), 'bob': User('bob', 'abc999'), 'alice': User('alice', 'alice2008') } 这个模拟数据库文件中的密码只是在程序运行时可以生成User对象,这样可以使得在

def login(username, password): user = db[username] return user.password == get_md5(password+user.salt) 方法中通过user.salt,即调用已经生成好的User对象的salt去进行验证,但是,实际应用中,User()对象类型是不可存储在数据库中的吧,存储的也是只可能是已经写死的数据,那么在之后的使用中,登录验证时势必要重新计算‘盐’salt,而盐的算法,是随机数产生的,那么该如何保证盐的一致呢?


  • 1

Reply