| | |
| | | // 根据appId获取应用信息 |
| | | SysClientApp clientApp = sysClientAppMapper.selectSysClientAppByAppKey(appId); |
| | | if (clientApp == null) { |
| | | System.out.println("未找到appId为 " + appId + " 的应用配置"); |
| | | return false; |
| | | } |
| | | |
| | | System.out.println("找到应用配置: " + clientApp); |
| | | |
| | | // 验证应用是否有效 |
| | | if (!"0".equals(clientApp.getStatus())) { |
| | | System.out.println("应用状态无效: " + clientApp.getStatus()); |
| | | return false; |
| | | } |
| | | |
| | |
| | | long currentTime = System.currentTimeMillis(); |
| | | if (currentTime < clientApp.getValidStartTime().getTime() |
| | | || currentTime > clientApp.getValidEndTime().getTime()) { |
| | | System.out.println("应用已过期"); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | // 生成签名 |
| | | String serverSign = generateSign(appId, clientApp.getSecurityKey(), timestamp); |
| | | System.out.println("服务器生成的签名: " + serverSign); |
| | | System.out.println("客户端提供的签名: " + sign); |
| | | System.out.println("签名是否匹配: " + sign.equals(serverSign)); |
| | | |
| | | // 比较签名 |
| | | return sign.equals(serverSign); |
| | |
| | | */ |
| | | private String generateSign(String appId, String securityKey, String timestamp) { |
| | | String signStr = appId + timestamp + securityKey; |
| | | return md5(signStr); |
| | | System.out.println("签名原始字符串: " + signStr); |
| | | String result = md5(signStr); |
| | | System.out.println("MD5结果: " + result); |
| | | return result; |
| | | } |
| | | } |