金山WPS在线编辑

This commit is contained in:
zhangqinbin
2023-10-24 17:19:59 +08:00
parent 1402f553c8
commit bb99465b25
2 changed files with 27 additions and 19 deletions

View File

@ -109,7 +109,7 @@ public class WpsController {
*/
@ApiOperation("(金山)沃文档回调-查询文档")
@GetMapping("/kingSoft/file")
public BaseResponse<byte[]> getKSFile(@RequestHeader("key") String key) {
public BaseResponse<byte[]> getKSFile(@RequestParam("key") String key) {
return BaseResponse.success(this.wpsService.getKSWpsFile(key));
}
/**

View File

@ -31,6 +31,7 @@ import com.chinaunicom.mall.ebtp.extend.wps.util.HttpsUtils;
import com.chinaunicom.mall.ebtp.extend.wps.util.MdConstants;
import com.chinaunicom.mall.ebtp.extend.wps.vo.*;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@ -505,7 +506,12 @@ public class WpsServiceImpl implements WpsService {
vo.setVersion(1);
String url = kswdownloadUrl+"?key="+getDownloadEncrypt(in.getFileId(),in.getUserToken());
vo.setDownloadUrl(url);
try {
vo.setDownloadUrl(URLEncoder.encode(url, "utf-8"));
}catch (UnsupportedEncodingException e){
log.error("url转换失败",e);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("url获取失败", true);
}
byte[] b = getFileByFileId(in.getFileId());
vo.setSize(b.length);
@ -635,22 +641,24 @@ public class WpsServiceImpl implements WpsService {
return map;
}
public static void main(String args[]) {
WpsServiceImpl wpsService = new WpsServiceImpl();
wpsService.kswpublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtUm+H78uT39TOsgS5XdbIuC0BRLiktqbuI3F9VFbPWDcX15Ptb2u2yTCSOB0Gl+yI+hqpClyV9nyjnu0LgoWpsIDZSLVLdrltYKz9N8jwXKhybomT2EuYU7hzWT1Ea4fkIBfYMCl+BQYSkXD6eqObg4mq2/wUFUVX/+/vjsMShwIDAQAB";
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";
String key = wpsService.getDownloadEncrypt("1679764839191080961","3a1f5aae-3cd2-4599-87b0-712e40625c7c");
String val = RSA.decrypt(key,wpsService.kswprivateKey);
System.out.println("val:"+val);
String[] value = val.split("_");
String fileId = value[0];
String token = value[1];
String time = value[2];
String md = value[3];
System.out.println("md:"+md);
String o_key = MdConstants.getSha256(time+fileId+wpsService.appName+token);
System.out.println("o_key:"+o_key);
System.out.println("o_key:"+o_key.substring(0,md.length()));
public static void main(String args[]) throws UnsupportedEncodingException {
// WpsServiceImpl wpsService = new WpsServiceImpl();
// wpsService.kswpublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtUm+H78uT39TOsgS5XdbIuC0BRLiktqbuI3F9VFbPWDcX15Ptb2u2yTCSOB0Gl+yI+hqpClyV9nyjnu0LgoWpsIDZSLVLdrltYKz9N8jwXKhybomT2EuYU7hzWT1Ea4fkIBfYMCl+BQYSkXD6eqObg4mq2/wUFUVX/+/vjsMShwIDAQAB";
// 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";
// String key = wpsService.getDownloadEncrypt("1679764839191080961","3a1f5aae-3cd2-4599-87b0-712e40625c7c");
// String val = RSA.decrypt(key,wpsService.kswprivateKey);
// System.out.println("val:"+val);
// String[] value = val.split("_");
// String fileId = value[0];
// String token = value[1];
// String time = value[2];
// String md = value[3];
// System.out.println("md:"+md);
// String o_key = MdConstants.getSha256(time+fileId+wpsService.appName+token);
// System.out.println("o_key:"+o_key);
// System.out.println("o_key:"+o_key.substring(0,md.length()));
System.out.println(URLEncoder.encode("hVLFkQhQkXI8w4RFE25zvCP9TKRZwT8Dqhxmi/PgDalGayE5SIjtyFBRpu6wuEqr7HvAIHm2Kc8+ahIUF7l8sc1PHYeCuEmgYEwzeosl1pT1yDyQ+KV6Q8REiufarAbZ1W9LEx70SBrtTXPKnEPi82njSv+CVrYqZCf6XZ/BINU=","utf-8"));
}
}