Discuss / Python / 模拟用户注册登录

模拟用户注册登录

Topic source
import hashlib
db={}

def get_md5(passwd):
    md5=hashlib.md5()
    md5.update(passwd.encode('utf-8'))
    return md5.hexdigest()


def login(username,password):
    if db.get(username,None) is not None:
        return db[username]==get_md5(password+username+'*the*Salt*')
    return False

def register(username,password):
    global db
    db[username]=get_md5(password+username+'*the*Salt*')


if __name__ == "__main__":
    register('michael','123456')
    register('bob','888888')
    register('alice','password')

    assert login('michael','123456')
    assert login('bob','888888')
    assert login('alice','password')

青春哆啦A

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

不能加入用户名作为盐值吧亲,万一用户名改了岂不是登录不了了吗?一般盐值使用基本不会变的值,比如注册时间等

亲,不要在意那些细节. 非要较真的话我这个代码里的username确实不许修改, 允许用户修改的专门有一个nickname字段,因为和作业无关,我没放上来. 你信了吗?


  • 1

Reply