From abf8bd34706402faf1689a60d5bf3066bd3c47f7 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 09 Aug 2022 17:19:19 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java b/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java index 2c4927e..e03251c 100644 --- a/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java +++ b/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java @@ -2,11 +2,15 @@ import cc.mrbird.febs.common.contants.AppContants; import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.SpringContextUtil; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.mapper.DappMemberDao; import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.crypto.asymmetric.KeyType; +import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -37,7 +41,6 @@ String headAddress = request.getHeader("address"); String key = request.getHeader("key"); String path = request.getServletPath().replace("/dapi", ""); - log.info("进入拦截:{}, {}", headAddress, path); String chain = request.getHeader("chain"); if (StrUtil.isBlank(headAddress) || StrUtil.isBlank(key)) { @@ -54,7 +57,7 @@ } String sign = (String) signObj; - String calKey = Hash.sha3(sign + path + headAddress).replace("0x", ""); + String calKey = LoginUserUtil.sha3(sign + path + headAddress).replace("0x", ""); if (!calKey.equals(key)) { responseUnAuth(response); return false; @@ -73,6 +76,16 @@ private void responseUnAuth(HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); - response.getWriter().write(new ObjectMapper().writeValueAsString(new FebsResponse().code(HttpStatus.UNAUTHORIZED))); + + FebsResponse code = new FebsResponse().code(HttpStatus.UNAUTHORIZED); + String encryptBase64 = SecureUtil.rsa(AppContants.RESP_PRIVATE_KEY, AppContants.RESP_PUBLIC_KEY).encryptBase64(JSONObject.toJSONString(code).getBytes(), KeyType.PublicKey); + response.getWriter().write(new ObjectMapper().writeValueAsString(encryptBase64)); + } + + public static void main(String[] args) { + String headAddress = "0x971c09aa9735eb98459b17ec8b48932d24cbb931"; + String path = "/member/walletInfo"; + String sign = "0x1fd3f82895ca4615daa10ec245d628ca230358e08423df71c8f6c8d3d4163520"; +// System.out.println(Hash.sha3(sign + path + headAddress)); } } -- Gitblit v1.9.1