gpt4 book ai didi

java.security.NoSuchAlgorithmException : Cannot find any provider supporting RSA/NONE/PKCS1Padding in jar-file

转载 作者:行者123 更新时间:2023-11-29 05:07:16 29 4
gpt4 key购买 nike

我确实要解密和加密 RSA,我使用 Cipher.getInstance("RSA/NONE/PKCS1Padding"); 为此,我添加了 Security.addProvider(new org.bouncycaSTLe .jce.provider.BouncyCaSTLeProvider());compile 'org.bouncycaSTLe:bcprov-jdk16:1.45' 到 gradle-file。所以这个项目要在 Intellij Idea 中运行和工作,

但是如果我生成 .jar 文件并运行它,我有:

java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/NONE/PKCS1Padding
at javax.crypto.Cipher.getInstance(Cipher.java:540)

(由 gradle 的 ShadowJar 任务生成的 .jar)。

为什么我的项目在 Intellij Idea 中 - 工作!在 .jar 文件中 - 不起作用?

最佳答案

"RSA/NONE/PKCS1Padding" 在大多数 JDK 的默认安全提供程序中不可用。您可以使用 "RSA/ECB/PKCS1Padding",意思相同,但使用 ECB 名称是为了向后兼容。

BouncyCaSTLe 提供程序确实提供了对 "RSA/NONE/PKCS1Padding" 的访问权限,但随后您需要专门查询它,因为将提供程序添加到提供程序列表并不会使其成为默认提供程序:

Cipher.getInstance("RSA/NONE/PKCS1Padding"<strong>, "BC"</strong>);

关于java.security.NoSuchAlgorithmException : Cannot find any provider supporting RSA/NONE/PKCS1Padding in jar-file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29922176/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com