Commit e8e69aab authored by huangxi's avatar huangxi

fix signParams

parent 22226a98
...@@ -158,15 +158,11 @@ public class StreamUtils { ...@@ -158,15 +158,11 @@ public class StreamUtils {
} }
public static <T> String join(Iterable<T> data, String delimiter) { public static <T> String join(Iterable<T> data, String delimiter) {
return join(data, delimiter, Objects::toString, any -> true); return join(data, delimiter, Objects::toString);
} }
public static <T> String join(Iterable<T> data, String delimiter, Predicate<String> predicate) { public static <T> String join(Iterable<T> data, String delimiter, Function<T, String> toStringFunction) {
return join(data, delimiter, Objects::toString, predicate); return from(data).map(toStringFunction).collect(joining(delimiter));
}
public static <T> String join(Iterable<T> data, String delimiter, Function<T, String> toStringFunction, Predicate<String> predicate) {
return from(data).map(toStringFunction).filter(predicate).collect(joining(delimiter));
} }
public static List<String> split(String data) { public static List<String> split(String data) {
......
...@@ -10,6 +10,7 @@ import org.springframework.web.util.ContentCachingRequestWrapper; ...@@ -10,6 +10,7 @@ import org.springframework.web.util.ContentCachingRequestWrapper;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import static cn.hutool.core.text.StrPool.UNDERLINE; import static cn.hutool.core.text.StrPool.UNDERLINE;
...@@ -68,7 +69,8 @@ public abstract class AbstractSignatureValidationInterceptor<T extends Signature ...@@ -68,7 +69,8 @@ public abstract class AbstractSignatureValidationInterceptor<T extends Signature
} }
protected String signParams(String requestUri, String queryString, String bodyString, String timestamp, String appKey, String appSecret) { protected String signParams(String requestUri, String queryString, String bodyString, String timestamp, String appKey, String appSecret) {
String toSign = StreamUtils.join(Arrays.asList(requestUri, queryString, bodyString, timestamp, appKey, appSecret), UNDERLINE, StringUtils::isNotBlank); List<String> params = StreamUtils.filterToList(Arrays.asList(requestUri, queryString, bodyString, timestamp, appKey, appSecret), StringUtils::isNotBlank);
String toSign = StreamUtils.join(params, UNDERLINE);
return DigestUtil.sha256Hex(toSign); return DigestUtil.sha256Hex(toSign);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment