|
@@ -180,6 +180,7 @@ class registerView(TemplateView):
|
|
|
authCode = request_dict.get('identifyingCode', None)
|
|
|
language = request_dict.get('language', None)
|
|
|
unique = request_dict.get('unique', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
if unique:
|
|
|
delete_local_account(unique)
|
|
|
response = ResponseObject(language)
|
|
@@ -188,11 +189,11 @@ class registerView(TemplateView):
|
|
|
username = username.strip()
|
|
|
if userEmail:
|
|
|
userEmail = userEmail.strip()
|
|
|
- return self.register(username, userEmail, password, authCode, response)
|
|
|
+ return self.register(username, userEmail, password, authCode, response, password_version)
|
|
|
else:
|
|
|
return response.json(800)
|
|
|
|
|
|
- def register(self, username, userEmail, password, authCode, response):
|
|
|
+ def register(self, username, userEmail, password, authCode, response, password_version):
|
|
|
dataValid = DataValid()
|
|
|
reds = RedisObject()
|
|
|
identifyingCode = reds.get_data(key=username + '_identifyingCode')
|
|
@@ -207,7 +208,12 @@ class registerView(TemplateView):
|
|
|
return response.json(120)
|
|
|
if authCode != identifyingCode:
|
|
|
return response.json(121)
|
|
|
- if dataValid.password_validate(password):
|
|
|
+ if password_version == 'V1':
|
|
|
+ password = make_password(password)
|
|
|
+ re_flag = dataValid.password_validate(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag:
|
|
|
if dataValid.email_validate(username):
|
|
|
if userEmail:
|
|
|
print(userEmail)
|
|
@@ -225,7 +231,7 @@ class registerView(TemplateView):
|
|
|
"username": username,
|
|
|
"NickName": username,
|
|
|
"userEmail": userEmail,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -262,7 +268,7 @@ class registerView(TemplateView):
|
|
|
"username": username,
|
|
|
"NickName": username,
|
|
|
"userEmail": userEmail,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -351,6 +357,7 @@ class ChangePwdView(TemplateView):
|
|
|
token = request_dict.get('token', None)
|
|
|
oldPwd = request_dict.get('oldPwd', None)
|
|
|
newPwd = request_dict.get('newPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
response = ResponseObject()
|
|
|
if oldPwd is None and newPwd is None:
|
|
|
return response.json(800)
|
|
@@ -358,17 +365,22 @@ class ChangePwdView(TemplateView):
|
|
|
response.lang = tko.lang
|
|
|
if tko.code != 0:
|
|
|
return response.json(tko.code)
|
|
|
- return self.updatePwd(tko.userID, oldPwd, newPwd, response)
|
|
|
+ return self.updatePwd(tko.userID, oldPwd, newPwd, response, password_version)
|
|
|
|
|
|
- def updatePwd(self, userID, oldPwd, newPwd, response):
|
|
|
+ def updatePwd(self, userID, oldPwd, newPwd, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(userID=userID)
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
- c_p = check_password(oldPwd, user_qs[0].password)
|
|
|
+ if password_version == 'V1':
|
|
|
+ c_p = check_password(oldPwd, user_qs[0].password)
|
|
|
+ else:
|
|
|
+ c_p = CommonService.check_password(oldPwd, user_qs[0].password)
|
|
|
# 密码是否正确
|
|
|
if not c_p:
|
|
|
return response.json(111)
|
|
|
- update = user_qs.update(password=make_password(newPwd))
|
|
|
+ if password_version == 'V1':
|
|
|
+ newPwd = make_password(newPwd)
|
|
|
+ update = user_qs.update(password=newPwd)
|
|
|
if update:
|
|
|
return response.json(0)
|
|
|
else:
|
|
@@ -395,35 +407,37 @@ class v3ChangePwdView(TemplateView):
|
|
|
token = request_dict.get('token', None)
|
|
|
oldPwd = request_dict.get('oldPwd', None)
|
|
|
newPwd = request_dict.get('newPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
response = ResponseObject()
|
|
|
# 解密
|
|
|
try:
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- oldPwd = base64.b64decode(oldPwd)
|
|
|
- oldPwd = oldPwd.decode('utf-8')
|
|
|
- oldPwd = oldPwd[1:-1]
|
|
|
- if i == 2:
|
|
|
- oldPwd = base64.b64decode(oldPwd)
|
|
|
- oldPwd = oldPwd.decode('utf-8')
|
|
|
- oldPwd = oldPwd[2:-2]
|
|
|
- if i == 3:
|
|
|
- oldPwd = base64.b64decode(oldPwd)
|
|
|
- oldPwd = oldPwd.decode('utf-8')
|
|
|
- oldPwd = oldPwd[3:-3]
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- newPwd = base64.b64decode(newPwd)
|
|
|
- newPwd = newPwd.decode('utf-8')
|
|
|
- newPwd = newPwd[1:-1]
|
|
|
- if i == 2:
|
|
|
- newPwd = base64.b64decode(newPwd)
|
|
|
- newPwd = newPwd.decode('utf-8')
|
|
|
- newPwd = newPwd[2:-2]
|
|
|
- if i == 3:
|
|
|
- newPwd = base64.b64decode(newPwd)
|
|
|
- newPwd = newPwd.decode('utf-8')
|
|
|
- newPwd = newPwd[3:-3]
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ oldPwd = base64.b64decode(oldPwd)
|
|
|
+ oldPwd = oldPwd.decode('utf-8')
|
|
|
+ oldPwd = oldPwd[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ oldPwd = base64.b64decode(oldPwd)
|
|
|
+ oldPwd = oldPwd.decode('utf-8')
|
|
|
+ oldPwd = oldPwd[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ oldPwd = base64.b64decode(oldPwd)
|
|
|
+ oldPwd = oldPwd.decode('utf-8')
|
|
|
+ oldPwd = oldPwd[3:-3]
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ newPwd = base64.b64decode(newPwd)
|
|
|
+ newPwd = newPwd.decode('utf-8')
|
|
|
+ newPwd = newPwd[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ newPwd = base64.b64decode(newPwd)
|
|
|
+ newPwd = newPwd.decode('utf-8')
|
|
|
+ newPwd = newPwd[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ newPwd = base64.b64decode(newPwd)
|
|
|
+ newPwd = newPwd.decode('utf-8')
|
|
|
+ newPwd = newPwd[3:-3]
|
|
|
except Exception as e:
|
|
|
return response.json(111)
|
|
|
else:
|
|
@@ -433,17 +447,22 @@ class v3ChangePwdView(TemplateView):
|
|
|
response.lang = tko.lang
|
|
|
if tko.code != 0:
|
|
|
return response.json(tko.code)
|
|
|
- return self.updatePwd(tko.userID, oldPwd, newPwd, response)
|
|
|
+ return self.updatePwd(tko.userID, oldPwd, newPwd, response, password_version)
|
|
|
|
|
|
- def updatePwd(self, userID, oldPwd, newPwd, response):
|
|
|
+ def updatePwd(self, userID, oldPwd, newPwd, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(userID=userID)
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
- c_p = check_password(oldPwd, user_qs[0].password)
|
|
|
+ if password_version == 'V1':
|
|
|
+ c_p = check_password(oldPwd, user_qs[0].password)
|
|
|
+ else:
|
|
|
+ c_p = CommonService.check_password(oldPwd, user_qs[0].password)
|
|
|
# 密码是否正确
|
|
|
if not c_p:
|
|
|
return response.json(111)
|
|
|
- update = user_qs.update(password=make_password(newPwd))
|
|
|
+ if password_version == 'V1':
|
|
|
+ newPwd = make_password(newPwd)
|
|
|
+ update = user_qs.update(password=newPwd)
|
|
|
if update:
|
|
|
return response.json(0)
|
|
|
else:
|
|
@@ -463,6 +482,7 @@ class createPwd(TemplateView):
|
|
|
def validation(self, request_dict):
|
|
|
token = request_dict.get('token', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
response = ResponseObject()
|
|
|
|
|
|
if not all([token, password]):
|
|
@@ -477,11 +497,13 @@ class createPwd(TemplateView):
|
|
|
userID = tko.userID
|
|
|
|
|
|
# 解密
|
|
|
- for i in range(1, 4):
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[i:-i]
|
|
|
- update = Device_User.objects.filter(userID=userID).update(password=make_password(password))
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[i:-i]
|
|
|
+ password = make_password(password)
|
|
|
+ update = Device_User.objects.filter(userID=userID).update(password=password)
|
|
|
if update:
|
|
|
return response.json(0)
|
|
|
else:
|
|
@@ -705,6 +727,7 @@ class refreshTokenViewV3(TemplateView):
|
|
|
lang = request_dict.get('lang', None)
|
|
|
language = request_dict.get('language', None)
|
|
|
password = request_dict.get('userPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
response = ResponseObject(lang)
|
|
|
if not token:
|
|
|
return response.json(444, 'token')
|
|
@@ -721,17 +744,21 @@ class refreshTokenViewV3(TemplateView):
|
|
|
userID = tko.userID
|
|
|
tko.lang = lang
|
|
|
if password: # 检验密码
|
|
|
- password = password.strip()
|
|
|
- # 解密
|
|
|
- for i in range(1, 4):
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[i:-i]
|
|
|
user_qs = Device_User.objects.filter(userID=userID).values('password')
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
- if not check_password(password, list(user_qs)[0]['password']):
|
|
|
- return response.json(111)
|
|
|
+ password = password.strip()
|
|
|
+ # 解密
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[i:-i]
|
|
|
+ if not check_password(password, list(user_qs)[0]['password']):
|
|
|
+ return response.json(111)
|
|
|
+ else:
|
|
|
+ if not CommonService.check_password(password, list(user_qs)[0]['password']):
|
|
|
+ return response.json(111)
|
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
|
user_qs.update(last_login=now_time)
|
|
|
# 更新用户扩展信息语言
|
|
@@ -995,6 +1022,7 @@ class v2registerView(TemplateView):
|
|
|
lang = request_dict.get('lang', None)
|
|
|
unique = request_dict.get('unique', None)
|
|
|
number = request_dict.get('number', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
if unique:
|
|
|
delete_local_account(unique)
|
|
|
response = ResponseObject(lang)
|
|
@@ -1005,17 +1033,22 @@ class v2registerView(TemplateView):
|
|
|
if authcode is None:
|
|
|
return response.json(444, 'identifyingCode')
|
|
|
if phone is not None:
|
|
|
- return self.do_phone_register(phone, password, authcode, number, response)
|
|
|
+ return self.do_phone_register(phone, password, authcode, number, response, password_version)
|
|
|
elif email is not None:
|
|
|
- return self.do_email_register(email, password, authcode, number, response)
|
|
|
+ return self.do_email_register(email, password, authcode, number, response, password_version)
|
|
|
else:
|
|
|
return response.json(444, 'phone or email')
|
|
|
|
|
|
- def do_phone_register(self, phone, password, authcode, number, response):
|
|
|
+ def do_phone_register(self, phone, password, authcode, number, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.mobile_validate(phone) is not True:
|
|
|
return response.json(100)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
reds = RedisObject()
|
|
|
identifyingCode = reds.get_data(key=phone + '_identifyingCode')
|
|
@@ -1029,12 +1062,13 @@ class v2registerView(TemplateView):
|
|
|
# 是否已存在
|
|
|
if phone_qs.exists():
|
|
|
return response.json(101)
|
|
|
+
|
|
|
try:
|
|
|
create_data = {
|
|
|
"username": phone,
|
|
|
"NickName": phone,
|
|
|
"phone": phone,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -1081,11 +1115,16 @@ class v2registerView(TemplateView):
|
|
|
print(res)
|
|
|
return response.json(0, res)
|
|
|
|
|
|
- def do_email_register(self, email, password, authcode, number, response):
|
|
|
+ def do_email_register(self, email, password, authcode, number, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(email) is not True:
|
|
|
return response.json(105)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.email_validate(email)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
reds = RedisObject()
|
|
|
identifyingCode = reds.get_data(key=email + '_identifyingCode')
|
|
@@ -1104,7 +1143,7 @@ class v2registerView(TemplateView):
|
|
|
"username": email,
|
|
|
"NickName": email,
|
|
|
"userEmail": email,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -1154,6 +1193,7 @@ class v3registerView(TemplateView):
|
|
|
phone = request_dict.get('phone', None)
|
|
|
email = request_dict.get('email', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
authcode = request_dict.get('authcode', None)
|
|
|
lang = request_dict.get('lang', None)
|
|
|
unique = request_dict.get('unique', None)
|
|
@@ -1166,20 +1206,21 @@ class v3registerView(TemplateView):
|
|
|
response = ResponseObject(lang)
|
|
|
# 解密
|
|
|
try:
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[1:-1]
|
|
|
- if i == 2:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[2:-2]
|
|
|
- if i == 3:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[3:-3]
|
|
|
- print(password)
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[3:-3]
|
|
|
+ print(password)
|
|
|
except Exception as e:
|
|
|
return response.json(111)
|
|
|
try:
|
|
@@ -1206,17 +1247,24 @@ class v3registerView(TemplateView):
|
|
|
return response.json(444, 'identifyingCode')
|
|
|
|
|
|
if phone is not None:
|
|
|
- return self.do_phone_register(phone, password, authcode, number, region_status, response)
|
|
|
+ return self.do_phone_register(phone, password, authcode, number, region_status, response,
|
|
|
+ password_version)
|
|
|
elif email is not None:
|
|
|
- return self.do_email_register(email, password, authcode, number, region_status, response)
|
|
|
+ return self.do_email_register(email, password, authcode, number, region_status, response,
|
|
|
+ password_version)
|
|
|
else:
|
|
|
return response.json(444, 'phone or email')
|
|
|
|
|
|
- def do_phone_register(self, phone, password, authcode, number, region_status, response):
|
|
|
+ def do_phone_register(self, phone, password, authcode, number, region_status, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.mobile_validate(phone) is not True:
|
|
|
return response.json(100)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
reds = RedisObject()
|
|
|
identifyingCode = reds.get_data(key=phone + '_identifyingCode')
|
|
@@ -1235,7 +1283,7 @@ class v3registerView(TemplateView):
|
|
|
"username": phone,
|
|
|
"NickName": phone,
|
|
|
"phone": phone,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -1282,11 +1330,16 @@ class v3registerView(TemplateView):
|
|
|
res['phone'] = user_list[0]["phone"] if user_list[0]["phone"] is not None else ''
|
|
|
return response.json(0, res)
|
|
|
|
|
|
- def do_email_register(self, email, password, authcode, number, region_status, response):
|
|
|
+ def do_email_register(self, email, password, authcode, number, region_status, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(email) is not True:
|
|
|
return response.json(105)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
reds = RedisObject()
|
|
|
identifyingCode = reds.get_data(key=email + '_identifyingCode')
|
|
@@ -1306,7 +1359,7 @@ class v3registerView(TemplateView):
|
|
|
"username": email,
|
|
|
"NickName": email,
|
|
|
"userEmail": email,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -1591,6 +1644,7 @@ class v2resetPwdByCodeView(TemplateView):
|
|
|
phone = request_dict.get('phone', None)
|
|
|
email = request_dict.get('email', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
authcode = request_dict.get('authcode', None)
|
|
|
print("1111111111111111111111")
|
|
|
if password is None or authcode is None:
|
|
@@ -1599,18 +1653,23 @@ class v2resetPwdByCodeView(TemplateView):
|
|
|
password = password.strip()
|
|
|
if phone is not None:
|
|
|
phone = phone.strip()
|
|
|
- return self.do_phone_pwd_reset(phone, authcode, password, response)
|
|
|
+ return self.do_phone_pwd_reset(phone, authcode, password, response, password_version)
|
|
|
elif email is not None:
|
|
|
email = email.strip()
|
|
|
- return self.do_email_pwd_reset(email, authcode, password, response)
|
|
|
+ return self.do_email_pwd_reset(email, authcode, password, response, password_version)
|
|
|
else:
|
|
|
return response.json(444, 'phone')
|
|
|
|
|
|
- def do_email_pwd_reset(self, email, authcode, password, response):
|
|
|
+ def do_email_pwd_reset(self, email, authcode, password, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(email) is not True:
|
|
|
return response.json(105)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
user_qs = Device_User.objects.filter(Q(userEmail=email) | Q(username=email))
|
|
|
if not user_qs.exists():
|
|
@@ -1623,16 +1682,21 @@ class v2resetPwdByCodeView(TemplateView):
|
|
|
return response.json(121)
|
|
|
# if not reds.set_data(key=email + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
# return response.json(10, '生成缓存错误')
|
|
|
- user_qs.update(password=make_password(password))
|
|
|
+ user_qs.update(password=password)
|
|
|
if not reds.del_data(email + '_forgetPwdResetCode'):
|
|
|
return response.json(10, '删除缓存失败')
|
|
|
return response.json(0)
|
|
|
|
|
|
- def do_phone_pwd_reset(self, phone, authcode, password, response):
|
|
|
+ def do_phone_pwd_reset(self, phone, authcode, password, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.mobile_validate(phone) is not True:
|
|
|
return response.json(100)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone))
|
|
|
if not user_qs.exists():
|
|
@@ -1645,7 +1709,7 @@ class v2resetPwdByCodeView(TemplateView):
|
|
|
return response.json(121)
|
|
|
# if not reds.set_data(key=phone + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
# return response.json(10, '生成缓存错误')
|
|
|
- user_qs.update(password=make_password(password))
|
|
|
+ user_qs.update(password=password)
|
|
|
if not reds.del_data(phone + '_forgetPwdResetCode'):
|
|
|
return response.json(10, '删除缓存失败')
|
|
|
return response.json(0)
|
|
@@ -1714,6 +1778,7 @@ class v3resetPwdByCodeView(TemplateView):
|
|
|
phone = request_dict.get('phone', None)
|
|
|
email = request_dict.get('email', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
authcode = request_dict.get('authcode', None)
|
|
|
if password is None or authcode is None:
|
|
|
return response.json(444, 'password,authcode')
|
|
@@ -1721,20 +1786,21 @@ class v3resetPwdByCodeView(TemplateView):
|
|
|
password = password.strip()
|
|
|
# 解密
|
|
|
try:
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[1:-1]
|
|
|
- if i == 2:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[2:-2]
|
|
|
- if i == 3:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[3:-3]
|
|
|
- print(password)
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[3:-3]
|
|
|
+ print(password)
|
|
|
except Exception as e:
|
|
|
return response.json(111)
|
|
|
try:
|
|
@@ -1756,18 +1822,23 @@ class v3resetPwdByCodeView(TemplateView):
|
|
|
return response.json(121)
|
|
|
if phone is not None:
|
|
|
phone = phone.strip()
|
|
|
- return self.do_phone_pwd_reset(phone, authcode, password, response)
|
|
|
+ return self.do_phone_pwd_reset(phone, authcode, password, response, password_version)
|
|
|
elif email is not None:
|
|
|
email = email.strip()
|
|
|
- return self.do_email_pwd_reset(email, authcode, password, response)
|
|
|
+ return self.do_email_pwd_reset(email, authcode, password, response, password_version)
|
|
|
else:
|
|
|
return response.json(444, 'phone')
|
|
|
|
|
|
- def do_email_pwd_reset(self, email, authcode, password, response):
|
|
|
+ def do_email_pwd_reset(self, email, authcode, password, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(email) is not True:
|
|
|
return response.json(105)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
user_qs = Device_User.objects.filter(Q(userEmail=email) | Q(username=email))
|
|
|
if not user_qs.exists():
|
|
@@ -1780,16 +1851,21 @@ class v3resetPwdByCodeView(TemplateView):
|
|
|
return response.json(121)
|
|
|
# if not reds.set_data(key=email + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
# return response.json(10, '生成缓存错误')
|
|
|
- user_qs.update(password=make_password(password))
|
|
|
+ user_qs.update(password=password)
|
|
|
if not reds.del_data(email + '_forgetPwdResetCode'):
|
|
|
return response.json(10, '删除缓存失败')
|
|
|
return response.json(0)
|
|
|
|
|
|
- def do_phone_pwd_reset(self, phone, authcode, password, response):
|
|
|
+ def do_phone_pwd_reset(self, phone, authcode, password, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.mobile_validate(phone) is not True:
|
|
|
return response.json(100)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone))
|
|
|
if not user_qs.exists():
|
|
@@ -1802,7 +1878,7 @@ class v3resetPwdByCodeView(TemplateView):
|
|
|
return response.json(121)
|
|
|
# if not reds.set_data(key=phone + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
# return response.json(10, '生成缓存错误')
|
|
|
- user_qs.update(password=make_password(password))
|
|
|
+ user_qs.update(password=password)
|
|
|
if not reds.del_data(phone + '_forgetPwdResetCode'):
|
|
|
return response.json(10, '删除缓存失败')
|
|
|
return response.json(0)
|
|
@@ -1868,6 +1944,7 @@ class v2LoginView(TemplateView):
|
|
|
def validates(self, request_dict, response):
|
|
|
username = request_dict.get('userName', None)
|
|
|
password = request_dict.get('userPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
number = request_dict.get('number', None)
|
|
|
if not username or not password:
|
|
|
return response.json(111)
|
|
@@ -1875,35 +1952,39 @@ class v2LoginView(TemplateView):
|
|
|
password = password.strip()
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(username):
|
|
|
- return self.do_email_login(username, password, number, response)
|
|
|
+ return self.do_email_login(username, password, number, response, password_version)
|
|
|
elif data_valid.mobile_validate(username):
|
|
|
- return self.do_phone_login(username, password, number, response)
|
|
|
+ return self.do_phone_login(username, password, number, response, password_version)
|
|
|
elif data_valid.name_validate(username):
|
|
|
- return self.do_name_login(username, password, number, response)
|
|
|
+ return self.do_name_login(username, password, number, response, password_version)
|
|
|
else:
|
|
|
return response.json(107)
|
|
|
|
|
|
- def do_email_login(self, email, password, number, response):
|
|
|
+ def do_email_login(self, email, password, number, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
|
- return self.valid_login(user_qs, password, number, response)
|
|
|
+ return self.valid_login(user_qs, password, number, response, password_version)
|
|
|
|
|
|
- def do_phone_login(self, phone, password, number, response):
|
|
|
+ def do_phone_login(self, phone, password, number, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
|
|
|
- return self.valid_login(user_qs, password, number, response)
|
|
|
+ return self.valid_login(user_qs, password, number, response, password_version)
|
|
|
|
|
|
- def do_name_login(self, username, password, number, response):
|
|
|
+ def do_name_login(self, username, password, number, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
|
is_active=True, user_isValid=True)
|
|
|
- return self.valid_login(user_qs, password, number, response)
|
|
|
+ return self.valid_login(user_qs, password, number, response, password_version)
|
|
|
|
|
|
- def valid_login(self, user_qs, password, number, response):
|
|
|
+ def valid_login(self, user_qs, password, number, response, password_version):
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
# users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
|
|
|
# 'phone', 'password', 'userIconPath', 'user_isValid', 'is_active')[0]
|
|
|
users = user_qs.values('role__rid', 'role__roleName', 'userID', 'NickName', 'username', 'userEmail',
|
|
|
'phone', 'password', 'userIconPath')[0]
|
|
|
- if not check_password(password, users['password']):
|
|
|
+ if password_version == 'V1':
|
|
|
+ check_flag = check_password(password, users['password'])
|
|
|
+ else:
|
|
|
+ check_flag = CommonService.check_password(password, users['password'])
|
|
|
+ if not check_flag:
|
|
|
return response.json(111)
|
|
|
userID = users['userID']
|
|
|
tko = TokenObject()
|
|
@@ -2056,6 +2137,7 @@ class v3LoginView(TemplateView):
|
|
|
def validates(self, request_dict, response):
|
|
|
username = request_dict.get('userName', None)
|
|
|
password = request_dict.get('userPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
subscribe = request_dict.get('subscribe', None)
|
|
|
number = request_dict.get('number', None)
|
|
|
if not username or not password:
|
|
@@ -2065,25 +2147,26 @@ class v3LoginView(TemplateView):
|
|
|
print("准备解密")
|
|
|
# 解密
|
|
|
try:
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- # 第一次先解密
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- # 截去第一位,最后一位
|
|
|
- password = password[1:-1]
|
|
|
- if i == 2:
|
|
|
- # 第2次先解密
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- # 去前2位,后2位
|
|
|
- password = password[2:-2]
|
|
|
- if i == 3:
|
|
|
- # 第3次先解密
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- # 去前3位,后3位
|
|
|
- password = password[3:-3]
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ # 第一次先解密
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ # 截去第一位,最后一位
|
|
|
+ password = password[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ # 第2次先解密
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ # 去前2位,后2位
|
|
|
+ password = password[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ # 第3次先解密
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ # 去前3位,后3位
|
|
|
+ password = password[3:-3]
|
|
|
except Exception as e:
|
|
|
return response.json(111)
|
|
|
else:
|
|
@@ -2111,6 +2194,7 @@ class v3LoginView(TemplateView):
|
|
|
return self.valid_login(user_qs, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
def valid_login(self, user_qs, password, response, subscribe, number, request_dict):
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
if subscribe:
|
|
@@ -2119,7 +2203,11 @@ class v3LoginView(TemplateView):
|
|
|
users = user_qs.values('role__rid', 'role__roleName', 'userID', 'NickName', 'username', 'userEmail',
|
|
|
'phone', 'password', 'userIconPath', 'fingerprint_enable', 'fingerprint_key',
|
|
|
'subscribe_email', 'region_country')[0]
|
|
|
- if not check_password(password, users['password']):
|
|
|
+ if password_version == 'V1':
|
|
|
+ check_flag = check_password(password, users['password'])
|
|
|
+ else:
|
|
|
+ check_flag = CommonService.check_password(password, users['password'])
|
|
|
+ if not check_flag:
|
|
|
return response.json(111)
|
|
|
|
|
|
userID = users['userID']
|
|
@@ -3018,6 +3106,7 @@ class OauthPerfectView(TemplateView):
|
|
|
phone = request_dict.get('phone', None)
|
|
|
email = request_dict.get('email', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
authcode = request_dict.get('authcode', None)
|
|
|
token = request_dict.get('token', None)
|
|
|
token = request_dict.get('token')
|
|
@@ -3033,18 +3122,23 @@ class OauthPerfectView(TemplateView):
|
|
|
return response.json(444, 'password,authcode')
|
|
|
if phone is not None:
|
|
|
phone = phone.strip()
|
|
|
- return self.do_phone(tko, phone, authcode, password, response)
|
|
|
+ return self.do_phone(tko, phone, authcode, password, response, password_version)
|
|
|
elif email is not None:
|
|
|
email = email.strip()
|
|
|
- return self.do_email(tko, email, authcode, password, response)
|
|
|
+ return self.do_email(tko, email, authcode, password, response, password_version)
|
|
|
else:
|
|
|
return response.json(444, 'phone')
|
|
|
|
|
|
- def do_email(self, tko, email, authcode, password, response):
|
|
|
+ def do_email(self, tko, email, authcode, password, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(email) is not True:
|
|
|
return response.json(105)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
|
|
|
if tko.code == 0:
|
|
@@ -3061,16 +3155,21 @@ class OauthPerfectView(TemplateView):
|
|
|
return response.json(121)
|
|
|
# if not reds.set_data(key=email + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
# return response.json(10, '生成缓存错误')
|
|
|
- user_qs.update(userEmail=email, password=make_password(password))
|
|
|
+ user_qs.update(userEmail=email, password=password)
|
|
|
if not reds.del_data(email + '_OauthPerfect'):
|
|
|
return response.json(10, '删除缓存失败')
|
|
|
return response.json(0)
|
|
|
|
|
|
- def do_phone(self, tko, phone, authcode, password, response):
|
|
|
+ def do_phone(self, tko, phone, authcode, password, response, password_version):
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.mobile_validate(phone) is not True:
|
|
|
return response.json(100)
|
|
|
- if data_valid.password_validate(password) is not True:
|
|
|
+ if password_version == 'V1':
|
|
|
+ re_flag = data_valid.password_validate(password)
|
|
|
+ password = make_password(password)
|
|
|
+ else:
|
|
|
+ re_flag = True
|
|
|
+ if re_flag is not True:
|
|
|
return response.json(109)
|
|
|
|
|
|
if tko.code == 0:
|
|
@@ -3088,7 +3187,7 @@ class OauthPerfectView(TemplateView):
|
|
|
return response.json(121)
|
|
|
# if not reds.set_data(key=phone + '_forgetPwdResetCode', val=resetCode, expire=300):
|
|
|
# return response.json(10, '生成缓存错误')
|
|
|
- user_qs.update(phone=phone, password=make_password(password))
|
|
|
+ user_qs.update(phone=phone, password=password)
|
|
|
if not reds.del_data(str(phone) + '_OauthPerfect'):
|
|
|
return response.json(10, '删除缓存失败')
|
|
|
return response.json(0)
|
|
@@ -3154,38 +3253,43 @@ class alexaAuthView(TemplateView):
|
|
|
def validates(self, request_dict, response):
|
|
|
username = request_dict.get('userName', None)
|
|
|
password = request_dict.get('userPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', None)
|
|
|
if not username or not password:
|
|
|
return response.json(111)
|
|
|
username = username.strip()
|
|
|
password = password.strip()
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(username):
|
|
|
- return self.do_email_login(username, password, response)
|
|
|
+ return self.do_email_login(username, password, response, password_version)
|
|
|
elif data_valid.mobile_validate(username):
|
|
|
- return self.do_phone_login(username, password, response)
|
|
|
+ return self.do_phone_login(username, password, response, password_version)
|
|
|
elif data_valid.name_validate(username):
|
|
|
- return self.do_name_login(username, password, response)
|
|
|
+ return self.do_name_login(username, password, response, password_version)
|
|
|
else:
|
|
|
return response.json(107)
|
|
|
|
|
|
- def do_email_login(self, email, password, response):
|
|
|
+ def do_email_login(self, email, password, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
+ return self.valid_login(user_qs, password, response, password_version)
|
|
|
|
|
|
- def do_phone_login(self, phone, password, response):
|
|
|
+ def do_phone_login(self, phone, password, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
|
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
+ return self.valid_login(user_qs, password, response, password_version)
|
|
|
|
|
|
- def do_name_login(self, username, password, response):
|
|
|
+ def do_name_login(self, username, password, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
|
is_active=True, user_isValid=True)
|
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
+ return self.valid_login(user_qs, password, response, password_version)
|
|
|
|
|
|
- def valid_login(self, user_qs, password, response):
|
|
|
+ def valid_login(self, user_qs, password, response, password_version):
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
users = user_qs.values('userID', 'password', 'region_country')[0]
|
|
|
- if not check_password(password, users['password']):
|
|
|
+ if password_version == 'V1':
|
|
|
+ check_flag = check_password(password, users['password'])
|
|
|
+ else:
|
|
|
+ check_flag = CommonService.check_password(password, users['password'])
|
|
|
+ if not check_flag:
|
|
|
return response.json(111)
|
|
|
userID = users['userID']
|
|
|
region_country = users['region_country']
|
|
@@ -3512,6 +3616,7 @@ class Image_Code_RegisterView(TemplateView):
|
|
|
"""
|
|
|
userEmail = request_dict.get('userEmail', None)
|
|
|
password = request_dict.get('userPwd', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', None)
|
|
|
imageCodeId = request_dict.get('imageCodeId', None)
|
|
|
valid_code = request_dict.get('id_v_code', None)
|
|
|
unique = request_dict.get('unique', None)
|
|
@@ -3528,19 +3633,21 @@ class Image_Code_RegisterView(TemplateView):
|
|
|
region_status = int(region_status) if region_status else 0
|
|
|
|
|
|
try:
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[1:-1]
|
|
|
- if i == 2:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[2:-2]
|
|
|
- if i == 3:
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- password = password[3:-3]
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ password = password[3:-3]
|
|
|
+ password = make_password(password)
|
|
|
except Exception as e:
|
|
|
return response.json(111)
|
|
|
try:
|
|
@@ -3591,7 +3698,7 @@ class Image_Code_RegisterView(TemplateView):
|
|
|
"username": username,
|
|
|
"NickName": username,
|
|
|
"userEmail": userEmail,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|
|
@@ -4327,29 +4434,31 @@ def deleteAccount(request):
|
|
|
lang = request.POST.get('lang', None)
|
|
|
token = request.POST.get('token', None)
|
|
|
password = request.POST.get('userPwd', None)
|
|
|
+ password_version = request.POST.get('pwdVersion', None)
|
|
|
response = ResponseObject(lang=lang) if lang else ResponseObject()
|
|
|
request.encoding = 'utf-8'
|
|
|
|
|
|
try:
|
|
|
- for i in range(1, 4):
|
|
|
- if i == 1:
|
|
|
- # 第一次先解密
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- # 截去第一位,最后一位
|
|
|
- password = password[1:-1]
|
|
|
- if i == 2:
|
|
|
- # 第2次先解密
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- # 去前2位,后2位
|
|
|
- password = password[2:-2]
|
|
|
- if i == 3:
|
|
|
- # 第3次先解密
|
|
|
- password = base64.b64decode(password)
|
|
|
- password = password.decode('utf-8')
|
|
|
- # 去前3位,后3位
|
|
|
- password = password[3:-3]
|
|
|
+ if password_version == 'V1':
|
|
|
+ for i in range(1, 4):
|
|
|
+ if i == 1:
|
|
|
+ # 第一次先解密
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ # 截去第一位,最后一位
|
|
|
+ password = password[1:-1]
|
|
|
+ if i == 2:
|
|
|
+ # 第2次先解密
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ # 去前2位,后2位
|
|
|
+ password = password[2:-2]
|
|
|
+ if i == 3:
|
|
|
+ # 第3次先解密
|
|
|
+ password = base64.b64decode(password)
|
|
|
+ password = password.decode('utf-8')
|
|
|
+ # 去前3位,后3位
|
|
|
+ password = password[3:-3]
|
|
|
except Exception as e:
|
|
|
return response.json(111)
|
|
|
else:
|
|
@@ -4367,7 +4476,11 @@ def deleteAccount(request):
|
|
|
return response.json(104)
|
|
|
|
|
|
userPWD = delUser.values('password')[0]
|
|
|
- if not check_password(password, userPWD['password']):
|
|
|
+ if password_version == 'V1':
|
|
|
+ check_flag = check_password(password, userPWD['password'])
|
|
|
+ else:
|
|
|
+ check_flag = CommonService.check_password(password, userPWD['password'])
|
|
|
+ if not check_flag:
|
|
|
return response.json(111)
|
|
|
|
|
|
hasDevices = Device_Info.objects.filter(userID=userID)
|