rsa签名认证失败

当前开发一个业务系统采用rsa签名(数据不加密只做签名),我这边在接受到数据后在签名认证一直报一个错误:

Signature length not correct: got 256 but was expecting 128

1.不太明白这个错误的意思,是说期待的签名值长度是128,但是结果却是256吗,还是说期待的签名值长度是256,但是实际的长度是128.

2.再问,签名后的sign长度是不是不管签名的业务数据有多长得出的值都是128,还是根据业务数据的长度来定。

如果问题问得小白的,还请见谅。

阅读 19.4k
评论 2015-10-23 提问
    3 个回答

    1.不太明白这个错误的意思,是说期待的签名值长度是128,但是结果却是256吗,还是说期待的签名值长度是256,但是实际的长度是128.

    很明显是期待128

    2.再问,签名后的sign长度是不是不管签名的业务数据有多长得出的值都是128,还是根据业务数据的长度来定。

    这个是根据你密钥的长度来定的,我帮你找了下:
    http://stackoverflow.com/questions/25699187/rsa-encryption-output-size
    http://blog.csdn.net/centralperk/article/details/8553759

    估计这个问题是你用了错误的公钥来签名造成的,错误的公钥是2048bits,而用于验证的私钥是1024bits

    评论 赞赏

      没人理我,自己顶

      评论 赞赏
        AngeliaMeng
        • 2
        • 新人请关照

        你好,我现在也遇到这个问题了,请问下,是如何解决的?谢谢!

        该答案已被忽略,原因:

        评论 赞赏
          撰写回答

          登录后参与交流、获取后续更新提醒