python web全栈,  python全栈,  前端开发,  后端开发

django 密码字段md5 入库

import hashlib
# md5 加密函数
def md5(pwd):
    md5sum = hashlib.md5()
    md5sum.update(pwd.encode())
    return md5sum.hexdigest()
# 用户注册
def register(request):
    if request.method == 'POST':
        user = UserMain()
        body = str(request.body, encoding="utf-8")
        data = eval(body)
        user_str = data['user_str']
        password = data['password']
        nick_name = data['nick_name']
        user_name = 'yss' + user_str
        user.user_name = user_name
        user.phone_number = user_str
        user.password = md5(password)
        user.nick_name = nick_name
        user.save()
        response = HttpResponse(json.dumps(success_message))
        response = add_header(response)
    return response
# 登录验证
def login(request):
    # 因为是通过接口POST,数据都在请求体里面
    body = str(request.body, encoding="utf-8")
    data = eval(body)
    user_str = data['user_str']
    password = data['password']
    u_type = user_type(user_str)
    print(u_type)
    # 先判断用户是否存在, 如果用户存在再判断密码是否正确·
    try:
        if u_type == 'phone_number':
            obj = UserMain.objects.get(phone_number=user_str)
            user_str = obj.user_name
        elif u_type == 'email':
            obj = UserMain.objects.get(email=user_str)
            user_str = obj.user_name
        else:
            obj = UserMain.objects.get(user_name=user_str)
        if md5(password) == obj.password:
            # 密码验证通过后生成token
            token = create_token(user_str)
            user = json.dumps({**model_to_dict(obj), **success_message, **{'token': token}})
            response = HttpResponse(user)
            response = add_header(response)
            return response
        else:
            response = HttpResponse(json.dumps(auth_fail_message))
            response = add_header(response)
            return response
    except UserMain.DoesNotExist:
        response = HttpResponse(json.dumps(auth_fail_message))
        response = add_header(response)
        return response

留言

您的电子邮箱地址不会被公开。 必填项已用*标注

闽ICP备20008591号-1