我需要驗證我的數據到數字簽名中的數據,我如何在它們之間進行比較。 在此代碼中驗證由公鑰和原始簽名解密的簽名。如何在數字簽名中驗證我的數據?
- 代公鑰和女貞密鑰和簽名。
- 閱讀我的數據。
- 對此代碼進行哈希處理。
- 讀取簽名。
比較簽名和我的數據//我在這一步有問題想要比較我的數據和簽名。
public static void verify() { BufferedReader in = new BufferedReader(new FileReader("EndSignatuer.txt")); FileInputStream keyfis = new FileInputStream("EndSignatuer.txt"); byte[] Signen = new byte[keyfis.available()]; keyfis.read(Signen); keyfis.close(); String signatureString = new String(Signde); System.out.println("SignatureString:" + signatureString); len = Signde.length; X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey); KeyFactory keyFactory = KeyFactory.getInstance("DSA", "SUN"); PublicKey pubKey = keyFactory.generatePublic(pubKeySpec); Signature sig = Signature.getInstance("SHA1withDSA", "SUN"); sig.initVerify(pubKey);
}
我需要:
public static void verify (byte[] mydata) {
........
sig.initVerify(mydata);
}
謝謝,我需要什麼 – MohammadTofi