Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 长度超过256的数字签名验证_Java - Fatal编程技术网

Java 长度超过256的数字签名验证

Java 长度超过256的数字签名验证,java,Java,我使用RSA算法验证数字签名,其中长度为256。 但我必须验证签名长度可变的数据包,如(344328)。如果我将使用RSA,则会出现以下错误 线程“main”java.security.SignatureException中出现异常:签名长度不正确:获取328,但应为256 那么,我使用哪种算法来验证可变长度的签名?是的,签名长度将是固定的256,但在344签名长度的情况下,它们使用Base64对生成的签名进行了加密。首先,我必须解密签名字节,然后进行验证。签名是如何创建的?不要将要签名的数据放

我使用RSA算法验证数字签名,其中长度为256。 但我必须验证签名长度可变的数据包,如(344328)。如果我将使用RSA,则会出现以下错误

线程“main”java.security.SignatureException中出现异常:签名长度不正确:获取328,但应为256


那么,我使用哪种算法来验证可变长度的签名?

是的,签名长度将是固定的256,但在344签名长度的情况下,它们使用Base64对生成的签名进行了加密。首先,我必须解密签名字节,然后进行验证。

签名是如何创建的?不要将要签名的数据放在RSA签名中,这是不安全的!仅对哈希进行签名(使用通用的RSA签名标准)。请注意,对于RSA2048位密钥,最大数据大小为256字节,这是一个数学事实,任何人都无法更改!事实上,我正在做一个银行项目,在这个项目中,我没有关于它们是如何创建的信息,但我收到了一个打包的(来自长度为344328的银行),必须从我这边进行验证……是否可以验证长度超过256的签名?那么,您是否使用Java提供的方法来验证RSA签名?无论如何,如果要验证签名生成,您必须知道使用哪个标准。