From 92306778c176a9ac956f0b3be2354a44eaf7f8b2 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期一, 14 三月 2022 16:58:25 +0800
Subject: [PATCH] 配置文件添加系统类型,进行参数过滤和参数防篡改

---
 src/main/java/com/whyc/util/ActionUtil.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/util/ActionUtil.java b/src/main/java/com/whyc/util/ActionUtil.java
index 844ac30..46b6746 100644
--- a/src/main/java/com/whyc/util/ActionUtil.java
+++ b/src/main/java/com/whyc/util/ActionUtil.java
@@ -534,4 +534,36 @@
 		}
 		return sb.toString();
 	}
+
+	/**
+	 * 浣跨敤timestamp+鐩愭柟寮�,杩涜绛惧悕楠岃瘉
+	 * 褰撳墠鏃堕棿鎴充负13浣嶆暟
+	 */
+	public static boolean checkSignMD5(String time,String randomStr,String sign){
+		String usefulNum = randomStr;
+		//鍔犵洂鏂瑰紡,鏍规嵁鏈熬鐨勫�艰繘琛屼笉鍚岀殑鍔犲瘑瑙勫垯
+		char lastChar = time.charAt(12);
+		int lastNum = Integer.parseInt(String.valueOf(lastChar));
+		switch (lastNum){
+			//鍦ㄧ涓�浣嶅姞瀛楃涓� rd@c3doed
+			case 0: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3dozero");break;
+			case 1: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doenoe");break;
+			case 2: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doktwo");break;
+			case 3: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3dolthree");break;
+			case 4: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doexfour");break;
+			case 5: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedefive");break;
+			case 6: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedhsix");break;
+			case 7: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedtseven");break;
+			case 8: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedbeight");break;
+			case 9: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedrnine");break;
+		}
+		//MD5鍔犲瘑鍚�
+		String signNow = (String) EncryptionMD5(usefulNum);
+		StringBuilder sb = new StringBuilder();
+		for (int i = 0; i < 10; i++) {
+			sb.append(signNow.charAt(i*2));
+		}
+		String signResult = sb.append(signNow).toString();
+		return sign.equals(signResult);
+	}
 }	

--
Gitblit v1.9.1