解密工具类

/** 
     * RSA验签 
     *  
     * @param signDataStr 本地拼接加密报文 
     * @param publicKey  RSA公钥 
     * @param RSA        本地生成的RSA加密字符串
     * @return 
     * @throws Exception 
     */
    public static boolean RSAVerify(String signDataStr,String publicKey,String RSA) throws Exception {
        // 解密由base64编码的公钥 
        byte[] keyBytes = decryptBASE64(publicKey);
        // 构造X509EncodedKeySpec对象  
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
        // KEY_ALGORITHM 指定的加密算法  
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        // 取公钥匙对象  
        PublicKey pubKey = keyFactory.generatePublic(keySpec);
        Signature signature = Signature.getInstance("MD5withRSA");
        signature.initVerify(pubKey);
        signature.update(signDataStr.getBytes("gbk"));
        // 验证签名是否正常  
        boolean ret = signature.verify(decryptBASE64(RSA));
        LogWriter.info("RSA验签结果:" + ret);
        return ret;
    }

results matching ""

    No results matching ""