創建主函數測試
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); }