• 首先构造一个Map
    • 对Map进行Key的排序后,获取值,再拼装,再拼接appSecret,进行Md5加密,最后转成大写。代码如下:
    1. * acquired sign.
    2. *
    3. * @param signKey sign key
    4. * @return sign
    5. private static String generateSign(final String signKey, final Map<String, String> params) {
    6. List<String> storedKeys = Arrays.stream(params.keySet()
    7. .toArray(new String[]{}))
    8. .sorted(Comparator.naturalOrder())
    9. .collect(Collectors.toList());
    10. .filter(key -> !Objects.equals(key, Constants.SIGN))
    11. .map(key -> String.join("", key, params.get(key)))
    12. .collect(Collectors.joining()).trim()
    13. .concat(signKey);
    14. return DigestUtils.md5DigestAsHex(sign.getBytes()).toUpperCase();