有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java PBewithSHA256和128位AESCBC的填充是什么

PBEWITHSA256和128位AES-CBC-BC(弹跳城堡)的填充是什么

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

jasypt(java简单加密)/PBEWITHSA256和128位AES-CBC-BC

密码:AES

长度:128位

加密模式:CBC

JCE供应商:Bouncy Castle

盐:固定式盐发生器

迭代次数:2次

填充:

提前感谢


共 (1) 个答案

  1. # 1 楼答案

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

    在任何情况下,使用PKCS#5都是很正常的,如

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

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

    看看BouncyCastle Specifications——从第4.2节应该可以清楚地看到哪些填充模式可以与哪些密码一起使用。同样,默认值是PKCS#5/#7

    干杯