diff --git a/Laravel/app/Http/Controllers/API/Admin/LoginController.php b/Laravel/app/Http/Controllers/API/Admin/LoginController.php index ca7caec..cce67ff 100644 --- a/Laravel/app/Http/Controllers/API/Admin/LoginController.php +++ b/Laravel/app/Http/Controllers/API/Admin/LoginController.php @@ -13,9 +13,39 @@ class LoginController extends Controller public function Login(){ $username =request('username'); $password= request('password'); + $password=$this->de_hunxiao($password); $login=app()->make(LoginService::class); //$login= new LoginService(); return Yz::echo($login->Login(['username'=>$username,'password'=>$password])); } + function de_hunxiao($str) + { + $decodedString = base64_decode($str); + // 第二步:移除固定的前缀和后缀 + $strippedString = str_replace('a5331_', '', $decodedString); + $strippedString = str_replace('_a454d', '', $strippedString); + + // 第三步:反转字符串以恢复原始顺序 + $reversedString = strrev($strippedString); + + // 第四步:字符替换(包括字母和数字) + $charMap = [ + 'z' => 'a', 'y' => 'b', 'x' => 'c', 'w' => 'd', 'v' => 'e', + 'u' => 'f', 't' => 'g', 's' => 'h', 'r' => 'i', 'q' => 'j', + 'p' => 'k', 'j' => 'q', 'i' => 'r', 'h' => 's', 'g' => 't', + 'f' => 'u', 'e' => 'v', 'd' => 'w', 'c' => 'x', 'b' => 'y', + 'a' => 'z', + '@' => '0', '!' => '1', '#' => '2', '$' => '3', '%' => '4', + '^' => '5', '&' => '6', '*' => '7', '(' => '8', ')' => '9' + ]; + $originalString = ''; + for ($i = 0; $i < strlen($reversedString); $i++) { + $char = $reversedString[$i]; + $originalString .= isset($charMap[$char]) ? $charMap[$char] : $char; + } + + // 输出解码后的字符串 + return $originalString; + } } diff --git a/YiJi-admin/src/views/Login.vue b/YiJi-admin/src/views/Login.vue index 62cad8c..5689395 100644 --- a/YiJi-admin/src/views/Login.vue +++ b/YiJi-admin/src/views/Login.vue @@ -81,7 +81,7 @@ if (username.value == '' || pwd.value == '') return ElMessage.error('用户名和密码不能为空') let data = { //传参 username: username.value, - password: pwd.value, + password: hunxiao(pwd.value) , } loading.value = true //调用登录接口 @@ -113,6 +113,30 @@ usernameRef.value.focus() }) }) + const hunxiao=(str)=>{ + let originalString =str + var charMap = { + 'a': 'z', 'b': 'y', 'c': 'x', 'd': 'w', 'e': 'v', + 'f': 'u', 'g': 't', 'h': 's', 'i': 'r', 'j': 'q', + 'k': 'p', 'l': 'o', 'm': 'n', 'n': 'm', 'o': 'l', + 'p': 'k', 'q': 'j', 'r': 'i', 's': 'h', 't': 'g', + 'u': 'f', 'v': 'e', 'w': 'd', 'x': 'c', 'y': 'b', + 'z': 'a', + '0': '@', '1': '!', '2': '#', '3': '$', '4': '%', + '5': '^', '6': '&', '7': '*', '8': '(', '9': ')' + }; + var mappedString = originalString.split('').map(char => charMap[char] || char).join(''); + + // 第二步:反转字符串 + var reversedString = mappedString.split('').reverse().join(''); + + // 第三步:添加固定前缀和后缀 + var prefixedSuffixString = 'a5331_' + reversedString + '_a454d'; + + // 第四步:使用 btoa 函数执行 Base64 编码 + var encodedString = btoa(prefixedSuffixString); + return encodedString; + }