java中的RSA签名与验证

java中的RSA签名与验证,java,security,digital-signature,verification,Java,Security,Digital Signature,Verification,我试图用java签署一条消息,但它似乎不起作用。验证步骤给了我错误的答案 谁能告诉我哪里出了错。我不明白我做错了什么。 谢谢 您的签名在变量sigBytes中,您的消息在变量message中。 要验证消息,请先执行signature1.update(消息),然后执行signature1.verify(sigBytes) 以下代码示例验证签名: Signature signature1 = Signature.getInstance("SHA1withRSA", "BC"); signature1

我试图用java签署一条消息,但它似乎不起作用。验证步骤给了我错误的答案

谁能告诉我哪里出了错。我不明白我做错了什么。 谢谢


您的签名在变量
sigBytes
中,您的消息在变量
message
中。 要验证消息,请先执行
signature1.update(消息)
,然后执行
signature1.verify(sigBytes)

以下代码示例验证签名:

Signature signature1 = Signature.getInstance("SHA1withRSA", "BC");
signature1.initVerify(RSAPublicKey);
signature1.update(message);
boolean result = signature1.verify(sigBytes);

:)

你应该写
signature1.update(消息)而不是
signature1.update(sigBytes)。在您显示的代码中,
signature1
没有关于要用您的签名验证的数据的信息。
Signature signature1 = Signature.getInstance("SHA1withRSA", "BC");
signature1.initVerify(RSAPublicKey);
signature1.update(message);
boolean result = signature1.verify(sigBytes);