chenjiahe
2022-03-31 0bf91738d54b72851f5a7f46916fe737d907574d
新增RSA的校验和生成签名方法
1个文件已修改
38 ■■■■■ 已修改文件
src/main/java/com/hx/util/rsa/RSASignature.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/hx/util/rsa/RSASignature.java
@@ -67,44 +67,6 @@
        return null;
    }
    /**
     * RSA验签名检查
     * @param params 所有参数
     * @param publicKey 分配给开发商公钥
     * @param encode 字符集编码
     * @return 布尔值
     */
    public static boolean doCheck(Map<String,String> params, String publicKey, String encode) {
        String sign = params.get("sign");
        if(sign == null){
            return false;
        }
        String content = getSignCheckContent(params);
        return doCheck( content, sign, publicKey, encode);
    }
    public static String getSignCheckContent(Map<String, String> params) {
        if (params == null) {
            return null;
        } else {
            params.remove("sign");
            StringBuilder content = new StringBuilder();
            List<String> keys = new ArrayList(params.keySet());
            Collections.sort(keys);
            for(int i = 0; i < keys.size(); ++i) {
                String key = (String)keys.get(i);
                String value = (String)params.get(key);
                if(StringUtils.isEmpty(value)){
                    continue;
                }
                content.append(i == 0 ? "" : "&").append(key).append("=").append(value);
            }
            return content.toString();
        }
    }
    /**
     * RSA验签名检查
     * @param content 待签名数据