signature.verify() Always returns False

后端 未结 3 2120
一整个雨季
一整个雨季 2021-01-06 13:06
 public static void main(String[] args) {
    try{
        String mod = \"q0AwozeUj0VVkoksDQSCTj3QEgODomq4sAr02xMyIrWldZrNHhWfZAIcWt2MuAY3X6S3ZVUfOFXOrVbltRrO3F9Z6R8         


        
3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-06 13:59

    Where you sign the message you should have some code like this:

    Signature signature = Signature.getInstance("SHA1withRSA");
    signature.initSign(privKey);
    signature.update(message);
    byte[] signatureValue = signature.sign();
    

    Note the byte-array named signatureValue. That is the actual signature on the data. That is what you should provide to the verify()-method. The message that is signed should be provided in a call to the update()-method. I.e.:

    Signature signature = Signature.getInstance("SHA1withRSA");
    signature.initVerify(pubKey);
    signature.update(message);
    bool ok = signature.verify(signatureValue);
    

提交回复
热议问题