如何更改过滤器中的servletRequest内容长度

时间:2016-04-18 17:10:26

标签: javascript jquery ajax servlets encryption

我正在尝试加密从我的Web应用程序发送到我的服务的POST正文请求。

加密是在过滤器中完成的。

我遇到内容长度问题,内容长度是为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; 
}

1 个答案:

答案 0 :(得分:1)

我能够修复我覆盖getContentLength()方法的问题以返回新的长度。通过这个我能够加密请求正文并将其发送到我解密正文并使用它的服务。