Browse Source

渗透测试bug修改

hurixing 1 year ago
parent
commit
4729cfca01

+ 1 - 1
baselib/build.gradle

@@ -37,7 +37,7 @@ android {
             buildConfigField "String", "TENCENT_LICENCEKEY", "\"0258811f9d756fea82c9a2d2cbd439bd\""
             buildConfigField "Boolean", "SINGLE_MODULE", "${singleModule}"
 //            buildConfigField "String", "BUGLY_APPID", "\"d400f20398\""
-//            buildConfigField "String", "API_URL", "\"https://www.yingyangfly.com/hcp-app-api-dev\""
+//            buildConfigField "String", "API_URL", "\"http://192.168.0.192:8110\""
             buildConfigField "String", "API_URL", "\"https://yaorong.yaorongmedical.com/hcp-app-api\""
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }

+ 2 - 0
baselib/src/main/java/com/yingyangfly/baselib/net/BaseNetWork.kt

@@ -3,6 +3,7 @@ package com.yingyangfly.baselib.net
 import com.localebro.okhttpprofiler.OkHttpProfilerInterceptor
 import com.yingyangfly.baselib.config.AccountConfig
 import com.yingyangfly.baselib.net.convert.GsonConverterFactory
+import com.yingyangfly.baselib.utils.SHA256Utils
 import com.yingyangfly.baselib.utils.User
 import okhttp3.OkHttpClient
 import okhttp3.Request
@@ -59,6 +60,7 @@ object BaseNetWork {
         if (AccountConfig.DEBUG) {
             builder.addInterceptor(LoggingInterceptor())
         }
+        builder.addInterceptor(SignInterceptor())
         return builder.build()
     }
 

+ 29 - 0
baselib/src/main/java/com/yingyangfly/baselib/net/SignInterceptor.kt

@@ -0,0 +1,29 @@
+package com.yingyangfly.baselib.net
+
+import com.yingyangfly.baselib.utils.SHA256Utils
+import com.yingyangfly.baselib.utils.User
+import okhttp3.Interceptor
+import okhttp3.Response
+import java.io.IOException
+
+class SignInterceptor : Interceptor {
+    @Throws(IOException::class)
+    override fun intercept(chain: Interceptor.Chain): Response {
+        val originalRequest = chain.request()
+
+        val currentTimeMillis = System.currentTimeMillis()
+        var sign = currentTimeMillis.toString() + User.getToken()+"ujnhytghyujhyuyh"
+        var hashPasswordWithSHA256AndSalt = SHA256Utils.hashWithSalt(sign)
+
+        // 创建一个新的请求,包含额外的请求头
+        val newRequest = originalRequest.newBuilder()
+            .header("timestamp", currentTimeMillis.toString())
+            .header("sign",hashPasswordWithSHA256AndSalt)
+            .build()
+
+        return chain.proceed(newRequest);
+
+    }
+
+
+}

+ 36 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/SHA256Utils.java

@@ -0,0 +1,36 @@
+package com.yingyangfly.baselib.utils;
+
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+public class SHA256Utils {
+    /**
+     * 使用SHA-256算法和盐对密码进行哈希处理
+     *
+     * @param input 需要哈希的密码
+     * @return 哈希值(十六进制字符串)
+     */
+    public static String hashWithSalt(String input) {
+        try {
+            // 获取SHA-256 MessageDigest实例
+            MessageDigest digest = MessageDigest.getInstance("SHA-256");
+
+            // 将输入字符串转换为字节数组,并使用指定的字符编码(此处为UTF-8)
+            byte[] encodedhash = digest.digest(input.getBytes(StandardCharsets.UTF_8));
+
+            // 将字节数组转换为十六进制字符串
+            StringBuilder hexString = new StringBuilder(2 * encodedhash.length);
+            for (byte b : encodedhash) {
+                String hex = Integer.toHexString(0xff & b);
+                if (hex.length() == 1) hexString.append('0');
+                hexString.append(hex);
+            }
+
+            return hexString.toString();
+        } catch (NoSuchAlgorithmException e) {
+            // SHA-256应该总是可用的,但如果发生这种情况,则抛出运行时异常
+            throw new RuntimeException(e);
+        }
+    }
+}

+ 2 - 9
push/src/main/java/com/yingyang/push/activity/MessgeListActivity.kt

@@ -86,15 +86,8 @@ class MessgeListActivity : BaseMVVMActivity<ActivityMessgeListBinding, PushViewM
                             )
                             messageDialog.show(supportFragmentManager, "messageDialog")
                         } else {
-                            val url =
-                                if (bean.ext.startsWith("") || bean.ext.startsWith(
-                                        ""
-                                    )
-                                ) {
-                                    bean.ext
-                                } else {
-                                    User.getTrainReportUrl() + "?userId=" + User.getUserId() + "&time=" + bean.ext + "&userToken=" + User.getToken()
-                                }
+                            val url = User.getTrainReportUrl() + "?userId=" + User.getUserId() + "&time=" + bean.ext + "&userToken=" + User.getToken()
+
                             JumpUtil.jumpActivityWithUrl(
                                 RouterUrlCommon.WEB_VIEW_INTERACTION_JS, url, mContext
                             )