zoukankan      html  css  js  c++  java
  • RSA签名

    RSA签名:

    /**
     * RSA签名
     * @param content    待签名数据
     * @param privateKey 商户私钥
     * @return 签名值
     */
    public static String sign(String content, String privateKey) {
        try {
            PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(new BASE64Decoder().decodeBuffer(privateKey));
            KeyFactory keyf = KeyFactory.getInstance("RSA");
            PrivateKey priKey = keyf.generatePrivate(priPKCS8);
            java.security.Signature signature = java.security.Signature.getInstance("SHA1WithRSA");
            signature.initSign(priKey);
            signature.update(content.getBytes("UTF8"));
            byte[] signed = signature.sign();
            return new BASE64Encoder().encode(signed);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    RSA签名校验:

      /**

         * RSA验签名检查

         * @param content   待签名数据

         * @param sign      签名值

         * @param publicKey 分配给开发商公钥

         * @return 布尔值

         */

        public static boolean doCheck(String content, String sign, String publicKey) {

            try {

                KeyFactory keyFactory = KeyFactory.getInstance("RSA");

                byte[] encodedKey = new BASE64Decoder().decodeBuffer(publicKey);

                PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));

                java.security.Signature signature = java.security.Signature.getInstance("SHA1WithRSA");

                signature.initVerify(pubKey);

                signature.update(content.getBytes("UTF8"));

                boolean bverify = signature.verify(new BASE64Decoder().decodeBuffer(sign));

                return bverify;

            } catch (Exception e) {

                e.printStackTrace();

            }

            return false;

        }

  • 相关阅读:
    学习python -- 第013天 类与对象
    学习python -- 第013天 bug
    学习python -- 第012天 函数(二)
    学习python -- 第012天 函数(一)
    学习python -- 第011天 字符串
    学习python -- 第010天 列表、元组、字典、集合总结
    排序_快速排序
    链表_逆置
    约瑟夫环-链表
    双栈_队列
  • 原文地址:https://www.cnblogs.com/zsqfightyourway/p/9491779.html
Copyright © 2011-2022 走看看