java - JCE 提供商的算法是如何定义的?

标签 java bouncycastle jce jasypt

我正在尝试使用 jasypt 使用基于密码的 aes 加密来加密一个简单的字符串,并且我在很多代码示例中遇到该算法以字符串形式给出,如“PBEWithSHA512AndAES256-CBC-BC”。我无法找到与如何理解该字符串相关的文档。我理解 PBEWithSHA512AndAES256-CBC 部分,但是 Bcflags在这里意味着什么?

到目前为止,我能找到的关于此问题的最佳资源是 http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory

但它仍然没有回答我的问题。我已经用谷歌搜索了 2 个小时。

最佳答案

我通过检查充气城堡的代码找到了答案

   /**
     * PBEWithSHA256And128BitAES-BC
     */
    static public class PBEWithSHA256And128BitAESBC
        extends PBESecretKeyFactory
    {
        public PBEWithSHA256And128BitAESBC()
        {
            super("PBEWithSHA256And128BitAES-CBC-BC", null, true, PKCS12, SHA256, 128, 128);
        }
    }

父类的定义是

   public More ...PBESecretKeyFactory(
23        String algorithm,
24        ASN1ObjectIdentifier oid,
25        boolean forCipher,
26        int scheme,
27        int digest,
28        int keySize,
29        int ivSize)

因此,它具有方案 PKCS12、摘要 SHA256、128 位 key 大小和 128 位初始化 vector 大小

关于java - JCE 提供商的算法是如何定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33190465/

相关文章:

java - 关于这个 ORM + RDBMS 替代方案的想法?

android - 使用 javacard 生成签名 CSR 时出错(asn1 错误标记值)

java - 如何在Java中使用PKCS#11 CKM_AES_KEY_WRAP机制?

java - 如何签署自定义 JCE 安全提供程序

java - Java 7 try catch中可关闭资源的回滚

Java 等同于 MSDN API 引用(本地应用程序)?

JAVA当r或s为负数时如何验证ECDSA签名

c# - 如何从 PKCS#7 中提取 PKCS#1 签名

java - 如何将 Bouncy CaSTLe 轻量级 API 与 AES 和 PBE 结合使用

java - JAVA中将Integer类型的Linked List转换为String类型的Set