AES-128 在这个密码示例中使用了什么填充方法?

AES-128 What padding method is used in this cipher example?

我刚刚使用以下消息和密钥实现了 AES-128 加密算法。

Message: "Two One Nine Two" (128 bits)

Key: "Thats my Kung Fu" (128 bits)

密码输出为:

29c3505f571420f6402299b31a02d73a

当我与在线生成器进行交叉检查时,这是正确的。

然而,在线生成器输出通常更长:

29c3505f571420f6402299b31a02d73ab3e46f11ba8d2b97c18769449a89e868

我尝试了几种填充方法(bit、zerolength、cms、null、space),但似乎没有任何方法能准确地生成 crypt 文本的 b3e46f11ba8d2b97c18769449a89e868 部分。

谁能帮忙解释一下用什么填充方法(二进制)来生成这些数字,好吗?

谢谢@Topaco,填充确实是 PKCS7。在这种情况下,由于输入恰好是 128 位,因此必须附加一个额外的 128 位填充块,由 16 个字节组成,每个字节的值为 16:

00010000 000010000 00010000 00010000 00010000.... (x16)

这给出了正确的密文

b3e46f11ba8d2b97c18769449a89e868

此示例中的键。