我需要验证我的数据到数字签名中的数据,我如何在它们之间进行比较。 在此代码中验证由公钥和原始签名解密的签名。如何在数字签名中验证我的数据?
- 代公钥和女贞密钥和签名。
- 阅读我的数据。
- 对此代码进行哈希处理。
- 读取签名。
比较签名和我的数据//我在这一步有问题想要比较我的数据和签名。
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