什么是填充PBEWITHSHA256AND128BITAES-CBC-BC

时间:2012-12-10 08:47:11

标签: java aes bouncycastle jasypt

什么是PBEWITHSHA256AND128BITAES-CBC-BC(Bouncy Castle)的填充

对于微小的信息感到抱歉,让我详细说明问题的背景。 有两个系统。一个是java( A ),另一个是PHP( B )。现在我们有一个要求将字符串/文本从系统A发送到B.字符串/文本的内容由AES使用jasypt加密。但我无法使用mcrypt解密它。我怀疑它可能由于A和B使用不同的AES参数,所以我试图找出系统A如何加密字符串/文本。 我发现的信息如下所示,除了填充

jasypt(java simple encryption)/ PBEWITHSHA256AND128BITAES-CBC-BC

密码:AES

长度:128位

加密模式:CBC

JCE供应商:Bouncy Castle

Salt:FixedStringSaltGenerator

迭代次数:2

填充: ????

提前感谢!

1 个答案:

答案 0 :(得分:2)

这实际上取决于您用来加密的实际Cipher实例,因此您的问题没有多大意义(正如@Buhake Sindi指出的那样)。

无论如何,使用PKCS#5并不罕见,如

Cipher.getInstance( "AES/CBC/PKCS5Padding" )

关键是:决定填充模式(提供者当然必须实现它)。

看一下BouncyCastle Specifications - 从4.2节可以看出哪些填充模式可以与哪些密码一起使用。同样,默认值是PKCS#5 /#7。

干杯,