我正在尝试使用jasypt使用基于密码的aes加密来加密一个简单的字符串,我遇到了许多代码示例,该算法以字符串形式给出,如“PBEWithSHA512AndAES256-CBC-BC”。我无法找到与如何理解此字符串相关的文档。我理解PBEWithSHA512AndAES256-CBC的部分,但这里的BC标志是什么意思?
到目前为止,我能找到的最好的资源是http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory
但它仍然没有回答我的问题。我已经用谷歌搜索了2个小时。
答案 0 :(得分:1)
我通过检查充气城堡的代码找到了答案
/**
* 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位密钥大小和128位大小的初始化向量