什么是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
填充: ????
提前感谢!
答案 0 :(得分:2)
这实际上取决于您用来加密的实际Cipher
实例,因此您的问题没有多大意义(正如@Buhake Sindi指出的那样)。
无论如何,使用PKCS#5并不罕见,如
Cipher.getInstance( "AES/CBC/PKCS5Padding" )
关键是:你决定填充模式(提供者当然必须实现它)。
看一下BouncyCastle Specifications - 从4.2节可以看出哪些填充模式可以与哪些密码一起使用。同样,默认值是PKCS#5 /#7。
干杯,