Я пытаюсь зашифровать запросы тела POST, выходящие из моего веб-приложения, на мою службу.Как изменить длину содержимого servletRequest в фильтре
И шифрование выполняется в фильтре.
У меня возникли проблемы с длиной содержимого, длина содержимого задана для пост-звонка в JavaScript
, а в фильтре по мере того, как шифрование выполняется, длина содержимого изменяется (длина увеличивается) и когда данные отправляются на служба данных усекается до длины данных, которые она первоначально (до шифрования), что делает данные непригодными для использования.
Код шифрования:
public void jsonEncrypt(String passPhrase, int iterationCount, int keySize, String salt, String initializationVector) throws IOException {
String json = new String(body, StandardCharsets.UTF_8);
AesUtil aesUtil = new AesUtil(keySize, iterationCount);
encryptJsonText = aesUtil.encrypt(salt, initializationVector, passPhrase, json);
byte[] b = encryptJsonText.getBytes();
body = b;
}
Вы можете указать код, используемый для шифрования и отправки данных? Если вам нужно шифрование, почему вы не полагаетесь на «HTTPS»? – FredMaggiowski
Ниже приведен метод, который я использую для шифрования JSON . У меня есть требование, чтобы запрос не был в читаемом формате, чтобы данные запроса не обрабатывались. 'общественного недействительный jsonEncrypt (String Passphrase, Int iterationCount, Int KeySize, строка соль, строка initializationVector) бросает IOException { \t Строка JSON = новый String (тело, StandardCharsets.UTF_8); \t AesUtil aesUtil = новый AesUtil (keySize, iterationCount); \t encryptJsonText = aesUtil.encrypt (соль, initializationVector, passPhrase, json); byte [] b = encryptJsonText.getBytes(); \t body = b; } ' – ramdas
Я отредактировал ваш вопрос, добавив код, в следующий раз помните, что вы должны редактировать вопрос, а не размещать код в комментарии. Кстати, это шифрование на стороне сервера, не так ли? – FredMaggiowski