java RSA签名及验签


1.签名过程

        KeyFactory keyFactory = KeyFactory.getInstance(VIVO_SIGN_TYPE.RSA);
        byte[] encodedKey = Base64.getDecoder().decode(privateKey);
        PrivateKey priKey = keyFactory.generatePrivate(new PKCS8EncodedKeySpec(encodedKey));
        
        Signature signature = Signature.getInstance(VIVO_SIGN_TYPE.SHA256WithRSA);
        signature.initSign(priKey);
        signature.update(content.getBytes(Encoding.UTF_8));
        byte[] signed = signature.sign();
        String sign = new String(Base64.getEncoder().encodeToString(signed));    

 

2.验签过程

        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
            byte[] encodedKey = Base64.getDecoder().decode(publicKey);
            PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));
            
            java.security.Signature signature = java.security.Signature
                    .getInstance("SHA256WithRSA");

            signature.initVerify(pubKey);
            signature.update(content.getBytes(charset));
                

            boolean result = signature.verify(Base64.getDecoder().decode(sign.getBytes()));

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM