金山WPS在线编辑

This commit is contained in:
zhangqinbin
2023-10-31 09:15:48 +08:00
parent d93d90db9d
commit a33d6dc04a
2 changed files with 37 additions and 44 deletions

View File

@ -523,8 +523,7 @@ public class WpsServiceImpl implements WpsService {
vo.setHost(kswhost); vo.setHost(kswhost);
vo.setLastModifiedTime(time); vo.setLastModifiedTime(time);
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(vo), Map.class); String retJson = HttpsUtils.UrlPost(kswpsurl, "utf-8", JSON.toJSONString(vo));//httpPost(kswpsurl,json);
String retJson = HttpsUtils.UrlPost(kswpsurl, "utf-8", map);//httpPost(kswpsurl,json);
log.info("ret:"+retJson); log.info("ret:"+retJson);
//String retJson = HttpUtils.httpPost(kswpsurl,json); //String retJson = HttpUtils.httpPost(kswpsurl,json);
@ -653,31 +652,38 @@ public class WpsServiceImpl implements WpsService {
wpsService.kswprivateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAK1Sb4fvy5Pf1M6yBLld1si4LQFEuKS2pu4jcX1UVs9YNxfXk+1va7bJMJI4HQaX7Ij6GqkKXJX2fKOe7QuChamwgNlItUt2uW1grP03yPBcqHJuiZPYS5hTuHNZPURrh+QgF9gwKX4FBhKRcPp6o5uDiarb/BQVRVf/7++OwxKHAgMBAAECgYA77iY8hdEJx7qo4es6QVVUQELnjmCeK74a18yVPoVp2qHqL5Op5P4EzRprZNW8gum6D2kKjFepTvqYBQsIENCwY3a6iKQf+8kwJ/GhVP+7uT3bnxdQFNXA99ujVu7Q2nFQZYAYJWiuMOQKGWrVJperlli0Ip3htCNmtTaviVfAcQJBANTAbX210K1zWe40nSxuuc6ONBqK/YF5hkqKpWB/XzfgFgQ4tPOfvWnnp0pt9rWUV9PzO6NYr2ya60yu2Y6aE+kCQQDQjhfdIid458UOYbjAixY5ONZOcswFQi77pk6MB5Cp8aHn8gHtapDnXt5DiHhqzJCya31FYYoqGtp/4fIntRzvAkA1N2Dr5fOpv0XKcLyz5YpyoV1lGkko/sXZlW6igZnGtzWqnqicm+NcP0a4NmNUriN978SGKmPO7b1XtBDVO7MpAkA/Q1sp0Tp4CpZUDoCkp4xOP1eC5H/O+IyX+ZLKF2Fiq9GZMmgzRKhABx8VDUi53OPnu4N8kGIA87RkJn32XZIxAkAtL+skd+5wkL71VZVnZafLIjWlJM/RKxqyaLbF8irT2sq2+ae8A19hfXj3zT7CeLn5xjKP1/cuGakeOBL8cNaw"; wpsService.kswprivateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAK1Sb4fvy5Pf1M6yBLld1si4LQFEuKS2pu4jcX1UVs9YNxfXk+1va7bJMJI4HQaX7Ij6GqkKXJX2fKOe7QuChamwgNlItUt2uW1grP03yPBcqHJuiZPYS5hTuHNZPURrh+QgF9gwKX4FBhKRcPp6o5uDiarb/BQVRVf/7++OwxKHAgMBAAECgYA77iY8hdEJx7qo4es6QVVUQELnjmCeK74a18yVPoVp2qHqL5Op5P4EzRprZNW8gum6D2kKjFepTvqYBQsIENCwY3a6iKQf+8kwJ/GhVP+7uT3bnxdQFNXA99ujVu7Q2nFQZYAYJWiuMOQKGWrVJperlli0Ip3htCNmtTaviVfAcQJBANTAbX210K1zWe40nSxuuc6ONBqK/YF5hkqKpWB/XzfgFgQ4tPOfvWnnp0pt9rWUV9PzO6NYr2ya60yu2Y6aE+kCQQDQjhfdIid458UOYbjAixY5ONZOcswFQi77pk6MB5Cp8aHn8gHtapDnXt5DiHhqzJCya31FYYoqGtp/4fIntRzvAkA1N2Dr5fOpv0XKcLyz5YpyoV1lGkko/sXZlW6igZnGtzWqnqicm+NcP0a4NmNUriN978SGKmPO7b1XtBDVO7MpAkA/Q1sp0Tp4CpZUDoCkp4xOP1eC5H/O+IyX+ZLKF2Fiq9GZMmgzRKhABx8VDUi53OPnu4N8kGIA87RkJn32XZIxAkAtL+skd+5wkL71VZVnZafLIjWlJM/RKxqyaLbF8irT2sq2+ae8A19hfXj3zT7CeLn5xjKP1/cuGakeOBL8cNaw";
// wpsService.appName = "biz-service-ebtp-extend"; // wpsService.appName = "biz-service-ebtp-extend";
// String key = wpsService.getDownloadEncrypt("1679764839191080961","3a1f5aae-3cd2-4599-87b0-712e40625c7c"); // String key = wpsService.getDownloadEncrypt("1679764839191080961","3a1f5aae-3cd2-4599-87b0-712e40625c7c");
String key = URLDecoder.decode( "FkvDifsfK8frde0ywRzdPMmOlR4%2FO8C4VORaw%2FwshgBt%2B49Z2%2B0al4KwyQ97Js8Yh24%2ByMT%2Fln4Aqx%2BVZNkGqOh0OxP1H3qj%2BP%2BlP1Sybvs5I0q%2BtFpW9nMQcGAsenFNLgcFtUtsQAJG4ALG4cH34TnDnSjuivM9tmA1Gt%2BzsJU%3D","utf-8"); //加解密
String val = RSA.decrypt(key,wpsService.kswprivateKey); // String key = URLDecoder.decode( "FkvDifsfK8frde0ywRzdPMmOlR4%2FO8C4VORaw%2FwshgBt%2B49Z2%2B0al4KwyQ97Js8Yh24%2ByMT%2Fln4Aqx%2BVZNkGqOh0OxP1H3qj%2BP%2BlP1Sybvs5I0q%2BtFpW9nMQcGAsenFNLgcFtUtsQAJG4ALG4cH34TnDnSjuivM9tmA1Gt%2BzsJU%3D","utf-8");
System.out.println("val:"+val); // String val = RSA.decrypt(key,wpsService.kswprivateKey);
String[] value = val.split("_"); // System.out.println("val:"+val);
String fileId = value[0]; // String[] value = val.split("_");
String token = value[1]; // String fileId = value[0];
String time = value[2]; // String token = value[1];
String md = value[3]; // String time = value[2];
System.out.println("md:"+md); // String md = value[3];
String o_key = MdConstants.getSha256(time+fileId+wpsService.appName+token); // System.out.println("md:"+md);
System.out.println("o_key:"+o_key); // String o_key = MdConstants.getSha256(time+fileId+wpsService.appName+token);
System.out.println("o_key:"+o_key.substring(0,md.length())); // System.out.println("o_key:"+o_key);
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); // System.out.println("o_key:"+o_key.substring(0,md.length()));
long newDateLong = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); // SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
System.out.println("newDateLong:"+newDateLong); // long newDateLong = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
// System.out.println("newDateLong:"+newDateLong);
//
// long inDateLong = 0;
// try {
// Date inDate = format.parse(time);
// inDateLong = inDate.getTime();
// System.out.println("inDateLong:"+inDateLong);
// System.out.println(newDateLong-inDateLong);
// }catch (Exception e){
// CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("令牌时间戳错误",true);
// }
KingSoftWpsVo vo = new KingSoftWpsVo();
vo.setSrcId(1);
vo.setModifier("2222");
System.out.println(JSON.toJSONString(vo));
long inDateLong = 0;
try {
Date inDate = format.parse(time);
inDateLong = inDate.getTime();
System.out.println("inDateLong:"+inDateLong);
System.out.println(newDateLong-inDateLong);
}catch (Exception e){
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("令牌时间戳错误",true);
}
//System.out.println(URLEncoder.encode("hVLFkQhQkXI8w4RFE25zvCP9TKRZwT8Dqhxmi/PgDalGayE5SIjtyFBRpu6wuEqr7HvAIHm2Kc8+ahIUF7l8sc1PHYeCuEmgYEwzeosl1pT1yDyQ+KV6Q8REiufarAbZ1W9LEx70SBrtTXPKnEPi82njSv+CVrYqZCf6XZ/BINU=","utf-8")); //System.out.println(URLEncoder.encode("hVLFkQhQkXI8w4RFE25zvCP9TKRZwT8Dqhxmi/PgDalGayE5SIjtyFBRpu6wuEqr7HvAIHm2Kc8+ahIUF7l8sc1PHYeCuEmgYEwzeosl1pT1yDyQ+KV6Q8REiufarAbZ1W9LEx70SBrtTXPKnEPi82njSv+CVrYqZCf6XZ/BINU=","utf-8"));
} }

View File

@ -20,31 +20,18 @@ import java.util.Map;
@Slf4j @Slf4j
public class HttpsUtils { public class HttpsUtils {
public static String UrlPost(String url,String charSet, Map map){ public static String UrlPost(String url,String charSet, String json){
return UrlPost(url,charSet,map,null); return UrlPost(url,charSet,json,null);
} }
public static String UrlPost(String url,String charSet, Map map,Proxy proxy){ public static String UrlPost(String url,String charSet, String json,Proxy proxy){
String str = ""; String str = "";
try { try {
SSLContext sc = SSLContext.getInstance("SSL"); SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom()); sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
URL console = new URL(url); URL console = new URL(url);
StringBuffer postData = new StringBuffer(); System.out.println("请求参数:" + json);
Iterator it = map.entrySet().iterator();
postData.append("{");
while (it.hasNext()) {
if(postData.length()>1){
postData.append(",");
}
Map.Entry pairs = (Map.Entry) it.next();
postData.append("\""+pairs.getKey()+"\"").append("=")
.append("\""+pairs.getValue().toString()+"\"");
}
postData.append("}");
System.out.println("请求参数:" + postData);
//System.out.println("请求参数:" + map); //System.out.println("请求参数:" + map);
HttpsURLConnection conn = null; HttpsURLConnection conn = null;
if (proxy != null) { if (proxy != null) {
@ -65,7 +52,7 @@ public class HttpsUtils {
PrintWriter out = new PrintWriter(conn.getOutputStream());//获取URLConnection对象对应的输出流 PrintWriter out = new PrintWriter(conn.getOutputStream());//获取URLConnection对象对应的输出流
out.print(postData);//发送请求参数即数据 out.print(json);//发送请求参数即数据
out.flush();//缓冲数据 out.flush();//缓冲数据