RSA/NONE/PKCS1P将给定错误添加为java.security.NoSuchAlgorithmException
我使用“RSA/None/PKCS1Padding”作为:RSA/NONE/PKCS1P将给定错误添加为java.security.NoSuchAlgorithmException,java,encryption,rsa,Java,Encryption,Rsa,我使用“RSA/None/PKCS1Padding”作为: Cipher rsapier=Cipher.getInstance(“RSA/None/pkcs1ppadding”) 这给了我一个例外: java.security.nosuchalgorithException:找不到任何支持RSA/None/PKCS1Padding的提供程序 谢谢你的帮助 如果您在Oracle或Open JDK中运行,请尝试使用“RSA/ECB/PKCS1Padding”。在RSA中使用分组密码加密模式没有太大意
Cipher rsapier=Cipher.getInstance(“RSA/None/pkcs1ppadding”)代码>
这给了我一个例外:
java.security.nosuchalgorithException:找不到任何支持RSA/None/PKCS1Padding的提供程序
谢谢你的帮助 如果您在Oracle或Open JDK中运行,请尝试使用“RSA/ECB/PKCS1Padding”
。在RSA中使用分组密码加密模式没有太大意义,但并非所有算法名称在JavaSE提供程序中都是逻辑的
Bouncy Castle库支持
“RSA/None/PKCS1Padding”
。因此,可能代码是为Bouncy或Android编写的。您能否提供更多信息,如java版本、任何第三方库、是Oracle JDK、Windows还是linux等?我也面临这个问题。但当我重新启动服务器时,它正在工作。这不太合理,但“RSA/ECB/pkcs1pandding”是Java标准算法名称文档指定的名称。它不能处理v。1.5和2填充模糊性。@erickson更糟糕的是,它也不接受超过键大小-88位的数据。那欧洲央行的模式是什么呢?谢谢各位。在阅读了更多的文档之后,这里是它解决的问题Cipher rsaciper=Cipher.getInstance(“RSA/None/PKCS1Padding”);//这应该是pkcs1pdadding
或只是RSA作为Cipher rsacippher=Cipher.getInstance(“RSA”)代码>//此处提到的“RSA/None/pkcs1pdadding”的默认值:安全体系结构对算法名称不区分大小写。此外,您应该始终指定模式和填充,否则提供程序可能会选择自己的默认值,并且每个提供程序的默认值可能不同。所以你上面写的是非常危险的。谢谢,我会提供提供商的名字。