rsa签名认证失败


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


 Signature length not correct: got 256 but was expecting 128

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

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

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

数据加密 java 加密解密 rsa 数字签名

我是好人啊好人 9 years, 5 months ago

没人理我,自己顶

背光的暗面 answered 9 years, 5 months ago

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

阿婆主合体吗 answered 9 years, 5 months ago

Your Answer