java - JDK 中的加密提供者

标签 java cryptography

是否正确理解,为了使用例如 Java 进行加密? Cipher,我必须选择一个外部提供程序来设置,即 JDK 没有附带并包含一个“默认”提供程序?

最佳答案

这取决于您的 Java 版本。从 Java 1.4 开始,JCE 默认包含在可用的默认提供程序堆栈中。在 {$JRE_HOME}/lib/security/java.policy 中查看您的默认提供程序。你会看到类似的东西

List of providers and their preference orders (see above): security.provider.1=sun.security.provider.Sun security.provider.2=sun.security.rsa.SunRsaSign security.provider.3=sun.security.ec.SunEC security.provider.4=com.sun.net.ssl.internal.ssl.Provider security.provider.5=com.sun.crypto.provider.SunJCE security.provider.6=sun.security.jgss.SunProvider security.provider.7=com.sun.security.sasl.Provider security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI security.provider.9=sun.security.smartcardio.SunPCSC security.provider.10=sun.security.mscapi.SunMSCAPI

它代表默认的提供程序堆栈(顺序在这里很重要)。

关于java - JDK 中的加密提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19076059/

相关文章:

Java BigInteger 循环群生成器搜索

security - 如何处理根证书的吊销?

java - 加密数据随机存取 AES GCM模式

security - 公开暴露盐是否可以接受?

java - 来自另一个 Activity android的按钮上的setText

java - 将系统属性设置为文件路径

math - 部分密文的RSA加密和解密?

Java线程64位公式?

java - 为什么我用的是? : conditional operator incorrect?

java - 我可以用像 List< 这样的相同泛型做什么? ...>?