支付宝的SRA数据签名验签

原创 2012年03月31日 10:19:00
    public static final String SIGN_ALGORITHMS = "SHA1WithRSA";

    public static String sign(String content, String privateKey) {
        String charset = "utf-8";
        try {
            PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(
                    Base64.decode(privateKey));
            KeyFactory keyf = KeyFactory.getInstance("RSA");
            PrivateKey priKey = keyf.generatePrivate(priPKCS8);

            java.security.Signature signature = java.security.Signature
                    .getInstance(SIGN_ALGORITHMS);

            signature.initSign(priKey);
            signature.update(content.getBytes(charset));

            byte[] signed = signature.sign();

            return Base64.encode(signed);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    public static boolean doCheck(String content, String sign, String publicKey) {
        try {
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
            byte[] encodedKey = Base64.decode(publicKey);
            PublicKey pubKey = keyFactory
                    .generatePublic(new X509EncodedKeySpec(encodedKey));

            java.security.Signature signature = java.security.Signature
                    .getInstance(SIGN_ALGORITHMS);

            signature.initVerify(pubKey);
            signature.update(content.getBytes("utf-8"));

            boolean bverify = signature.verify(Base64.decode(sign));
            return bverify;

        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;
    }
}

JAVA RSA签名 验签 以及 加密解密

下载openssl 地址 http://www.onlinedown.net/soft/85287.htm
  • evan_yyz
  • evan_yyz
  • 2014年08月15日 15:11
  • 2048

支付宝支付时不验证签名的危害

在开发支付宝支付功能时,如果没在回调方法验证签名,有可能被刷钱,下面说下怎么造成的 场景:某个app有个充值功能,或者下单购买功能,假设用户选择的是支付宝支付。 切入口:支付宝的callbac...
  • IT___LaDeng
  • IT___LaDeng
  • 2016年01月13日 10:24
  • 1829

微信,支付宝,支付异步通知验签,notify_url

验签,notify_url,签名不一致,
  • cocoaxian
  • cocoaxian
  • 2017年08月14日 13:19
  • 1033

数据加密、解密:签名、验签

做项目时,会经常要与第三方进行交互,比如与支付宝、微信等做交互。 为了保证交互时数据的安全,一般情况下我们会进行签名、验签。 我们假设商户AAA与某第三方XXX进行支付对接,以商户为主语: 商户AAA...
  • zhengchao1991
  • zhengchao1991
  • 2017年03月13日 17:03
  • 2040

支付宝SDK 返回验签的错误BUG修改解决方案

验签的问题一直报错,无语了.............. 不知道编写的人是个什么想法 具体修改如下 在保证不影响原代码的处理下,多加一个分支判断 ...
  • my_one_piece
  • my_one_piece
  • 2017年08月03日 21:06
  • 603

APP支付(支付宝和微信生成客户端签名及回调验签)

  • Qiang1370373713
  • Qiang1370373713
  • 2016年12月02日 14:02
  • 7226

支付宝之私钥签名公钥验签

8th,March,2016 Tuesday RSA公钥加密算法简介 非对称加密算法。只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥...
  • Jolie_Yang
  • Jolie_Yang
  • 2016年03月08日 15:56
  • 22472

支付宝回调验证签名失败

回调接口是支持扫码支付方式的回调的,最近业务需要又需要支持移动app的支付方式,回调时却签名验证失败。在排除代码、参数、编码格式等问题后,最终确定是支付宝这两种支付方式回调使用的支付宝公钥不一样导致的...
  • pur_e
  • pur_e
  • 2016年08月24日 14:40
  • 11629

支付宝APP支付-php后台签名以及验签

一、 下载php支付宝sdk https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.eCtVsf&treeId=54&arti...
  • kunpeng1987
  • kunpeng1987
  • 2017年06月23日 16:39
  • 3120

支付宝电脑支付notify异步返回验签失败坑

如果遇到异步返回总是失败,但是同步返回成功的情况就要注意一个地方了那就是这里: $arr=$_POST; $alipaySevice = new AlipayTradeService($config...
  • qingzhouwangzhan
  • qingzhouwangzhan
  • 2017年11月12日 21:54
  • 393
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:支付宝的SRA数据签名验签
举报原因:
原因补充:

(最多只允许输入30个字)