我正在尝试使用 rijndael(密钥大小 256 位,块大小 256 位,CFB 模式)加密字符串,目前我正在做这样的事情:
BufferedBlockCipher c = new BufferedBlockCipher(new CFBBlockCipher(new RijndaelEngine(256), 256));
c.init(false, new ParametersWithIV(new KeyParameter(keybytes), iv));
我可以很好地加密和解密我自己的东西。不幸的是,我必须解密的字符串来自 php 中的 mcrypt。
我无法解密这个字符串,我猜失败就在我这边。谁能给我一个示例如何使用所需参数配置密码?
编辑:
在此处和 php 文档注释中遵循一些建议。我将密码更改为:
PaddedBufferedBlockCipher c = new PaddedBufferedBlockCipher(new CFBBlockCipher(new RijndaelEngine(256)), new ZeroBytePadding());
加密仍然不兼容。
编辑 2
让它在CBC模式下工作。我想问题出在iv中的某个地方。