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