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