|
|
@@ -1,6 +1,9 @@
|
|
|
package org.springblade.wx.controller;
|
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
+import cn.hutool.crypto.Mode;
|
|
|
+import cn.hutool.crypto.Padding;
|
|
|
+import cn.hutool.crypto.symmetric.AES;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
@@ -10,13 +13,16 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.wx.config.WXConfiger;
|
|
|
+import org.springblade.wx.dto.DataDto;
|
|
|
import org.springblade.wx.utils.Sign;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.Base64;
|
|
|
import java.util.Map;
|
|
|
import java.util.Optional;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
@@ -143,4 +149,14 @@ public class WXController {
|
|
|
String status = resObj.getString("errmsg");
|
|
|
return "ok".equals(status);
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperation("获取开发数据")
|
|
|
+ @PostMapping("/getOpenData")
|
|
|
+ public R getOpenData ( DataDto dataDto){
|
|
|
+ byte[] key = Base64.getDecoder().decode(dataDto.getSessionKey().replaceAll(" ","+"));
|
|
|
+ byte[] iv = Base64.getDecoder().decode(dataDto.getIV().replaceAll(" ","+"));
|
|
|
+ byte[] content = Base64.getDecoder().decode(dataDto.getEncryptedData().replaceAll(" ","+"));
|
|
|
+ AES aes = new AES(Mode.CBC, Padding.PKCS5Padding,key,iv);
|
|
|
+ return R.data(new String(aes.decrypt(content)));
|
|
|
+ }
|
|
|
}
|