Я пытаюсь зашифровать строку с Rijndael (KeySize 256 бит, 256 бит размера блока, режим CFB) В настоящее время я делаю что-то вроде этого:Как я могу зашифровать Rijndael с помощью режима CFB, Blocksize из 256 бит и Bouncycastle?
BufferedBlockCipher c = new BufferedBlockCipher(new CFBBlockCipher(new RijndaelEngine(256), 256));
c.init(false, new ParametersWithIV(new KeyParameter(keybytes), iv));
Я могу зашифровать и расшифровать свой собственный материал просто хорошо. К сожалению, строка, которую я должен расшифровать, происходит от mcrypt в php.
Я не могу расшифровать эту строку, и я думаю, что сбой на моей стороне. может ли кто-нибудь дать мне пример, как настроить шифр с требуемыми параметрами?
EDIT:
следующие несколько советов здесь и в комментариях PHP документации. я изменил свой шифр на:
PaddedBufferedBlockCipher c = new PaddedBufferedBlockCipher(new CFBBlockCipher(new RijndaelEngine(256)), new ZeroBytePadding());
все еще шифрование несовместимо.
EDIT 2
получил это работает в режиме CBC. Я предполагаю, что проблема находится где-то в iv.
Я сделал шифрование/дешифрование php-java, и мне было трудно это сделать. Насколько я помню, мне приходилось выполнять добавление ввода, чтобы работать с перекрестным шифрованием/расшифровкой. – Manish
похоже пудинг не проблема. – Laures
Вы уверены, что используете тот же IV в Java, что и в PHP? Также читайте: http://stackoverflow.com/questions/7821678/any-equivalent-for-mcrypt-in-php-to-use-in-java/7823385#7823385 – NullUserException