javaDSA實現加密和解密(簽名和驗證)


創建主函數測試

  public static void main(String[] args) throws Exception {
        
        String data = "跳梁小豆tlxd666";
        
        //創建秘鑰生成器
        KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
        kpg.initialize(512);
        KeyPair keypair = kpg.generateKeyPair();//生成秘鑰對
        DSAPublicKey publickey = (DSAPublicKey)keypair.getPublic();
        DSAPrivateKey privatekey = (DSAPrivateKey)keypair.getPrivate();
        
        //簽名和驗證
        //簽名
        Signature sign = Signature.getInstance("SHA1withDSA");
        sign.initSign(privatekey);//初始化私鑰,簽名只能是私鑰
        sign.update(data.getBytes());//更新簽名數據
        byte[] b = sign.sign();//簽名,返回簽名后的字節數組
        
        
        //驗證
        sign.initVerify(publickey);//初始化公鑰,驗證只能是公鑰
        sign.update(data.getBytes());//更新驗證的數據
        boolean result = sign.verify(b);//簽名和驗證一致返回true  不一致返回false
        System.out.println(result);
        
        
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM