Просмотр исходного кода

优化查询用户盐和加密次数

peng 1 год назад
Родитель
Сommit
20bcc7eba3
1 измененных файлов с 18 добавлено и 15 удалено
  1. 18 15
      Controller/UserController.py

+ 18 - 15
Controller/UserController.py

@@ -4620,18 +4620,21 @@ def getPasswordSalt(request):
         return response.json(444, 'userName')
     username = username.strip()
     data_valid = DataValid()
-    if data_valid.email_validate(username):
-        user_qs = Device_User.objects.filter(Q(username=username) | Q(userEmail=username)).values('password')
-    elif data_valid.mobile_validate(username):
-        user_qs = Device_User.objects.filter(Q(phone=username) | Q(username=username), is_active=True,
-                                             user_isValid=True).values('password')
-    elif data_valid.name_validate(username):
-        user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
-                                             is_active=True, user_isValid=True).values('password')
-    else:
-        return response.json(104)
-    if not user_qs.exists():
-        return response.json(104)
-    iterations = user_qs[0]['password'].split('$')[1]
-    salt = user_qs[0]['password'].split('$')[2]
-    return response.json(0, {'iterations': iterations, 'salt': salt})
+    try:
+        if data_valid.email_validate(username):
+            user_qs = Device_User.objects.filter(Q(username=username) | Q(userEmail=username)).values('password')
+        elif data_valid.mobile_validate(username):
+            user_qs = Device_User.objects.filter(Q(phone=username) | Q(username=username), is_active=True,
+                                                 user_isValid=True).values('password')
+        elif data_valid.name_validate(username):
+            user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
+                                                 is_active=True, user_isValid=True).values('password')
+        else:
+            return response.json(104)
+        if not user_qs.exists():
+            return response.json(104)
+        iterations = user_qs[0]['password'].split('$')[1]
+        salt = user_qs[0]['password'].split('$')[2]
+        return response.json(0, {'iterations': iterations, 'salt': salt})
+    except Exception as e:
+        return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))