使用RSA/ECB/OAEP为安卓系统中不起作用的加密密钥添加算法



当我在加密方法中使用RSA/ECB/OAEP添加算法时,我正在使用RSA/ECB/OAEPAdd算法进行加密逻辑。下面的错误在android中引发错误:错误:javax.crypto.IllegalBlockSizeException:错误:04000072:RSA例程:OPENSSL_internal:DATA_TOO_LARGE_FOR_KEY_SIZEjavax.crypto.IollegalBlockSizeException:错误:04000072:RSA例程:OPENSSL_internal:DATA_TOO_LARGE_FOR_KEY_SIZE。

在此之前,我使用的是RSA/ECB/PKCS1Padding算法,其中相同的代码库运行良好,现在相同的代码基刚刚更改为RSA/ECB/OAEP添加算法超过异常

我尝试使用以下代码:

Key key = ...;
Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPPadding");
// To use SHA-256 the main digest and SHA-1 as the MGF1 digest
cipher.init(Cipher.ENCRYPT_MODE, key, new OAEPParameterSpec("SHA-256", "MGF1", MGF1ParameterSpec.SHA1, PSource.PSpecified.DEFAULT));
// To use SHA-256 for both digests
cipher.init(Cipher.ENCRYPT_MODE, key, new OAEPParameterSpec("SHA-256", "MGF1", MGF1ParameterSpec.SHA256, PSource.PSpecified.DEFAULT));

但我得到了以下例外:CryptoHelper:错误:javax.crypto.BadPaddingException:错误:0400007e:RSA例程:OPENSSL_internal:KEY_SIZE_TOO_MALLjavax.crypto.BadPaddingException:错误:0400007e:RSA例程:OPENSSL_internal:KEY_SIZE_TOO_MALL

我被这个任务卡住了,无法继续

感谢您的帮助!

密码=密码.getInstance("RSA/ECB/OAEPPadding"(;//使用SHA-256作为主摘要,使用SHA-1作为MGF1摘要cipher.init(cipher.ENCRYPT_MODE,密钥,新OAEPParameterSpec("SHA-256","MGF1",MGF1ParameterSpec.SHA1,PSource.PSpecified.DEFAULT((;//将SHA-256用于两种消化物

使用上面的代码,它工作得很好

最新更新