| 
														
															@@ -93,7 +93,11 @@ class AuthController extends Controller 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (!$user) { 
														 | 
														
														 | 
														
															         if (!$user) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             abort(500, '用户名或密码错误'); 
														 | 
														
														 | 
														
															             abort(500, '用户名或密码错误'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (!password_verify($password, $user->password)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!$this->multiPasswordVerify( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            $user->password_algo, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            $password, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            $user->password) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             abort(500, '用户名或密码错误'); 
														 | 
														
														 | 
														
															             abort(500, '用户名或密码错误'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -173,6 +177,7 @@ class AuthController extends Controller 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         $user = User::where('email', $request->input('email'))->first(); 
														 | 
														
														 | 
														
															         $user = User::where('email', $request->input('email'))->first(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         $user->password = password_hash($request->input('password'), PASSWORD_DEFAULT); 
														 | 
														
														 | 
														
															         $user->password = password_hash($request->input('password'), PASSWORD_DEFAULT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        $user->password_algo = NULL; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (!$user->save()) { 
														 | 
														
														 | 
														
															         if (!$user->save()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             abort(500, '重置失败'); 
														 | 
														
														 | 
														
															             abort(500, '重置失败'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -181,4 +186,13 @@ class AuthController extends Controller 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             'data' => true 
														 | 
														
														 | 
														
															             'data' => true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ]); 
														 | 
														
														 | 
														
															         ]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private function multiPasswordVerify($algo, $password, $hash) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        switch($algo) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            case 'md5': return md5($password) === $hash; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            case 'sha256': return hash('sha256', $password) === $hash; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            default: return password_hash($password, PASSWORD_DEFAULT) === $hash; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |