【发布时间】:2018-05-24 19:51:49
【问题描述】:
一个古老的 PHP 人为Rijndael-256 (!AES256) / ECB / NoPadding 编写了加密代码。
我试过了。
PaddedBufferedBlockCipher cipher = new PaddedBufferedBlockCipher(
new RijndaelEngine(256), new ZeroBytePadding());
cipher.init(encrypt, new KeyParameter(Arrays.copyOf(KEY.getBytes(UTF_8), 16)));
byte[] source = supplier.get();
byte[] target = new byte[cipher.getOutputSize(source.length)];
int offset = cipher.processBytes(source, 0, source.length, target, 0);
cipher.doFinal(target, offset);
但加密总是添加填充。是的,我知道我用过ZeroBytePadding。
我该如何解决这个问题?我没有找到任何好的参考资料。
【问题讨论】:
-
明文长度必须是块大小的倍数,在本例中为 32 字节。填充方案确保发生这种情况。
标签: java bouncycastle rijndael