gpt4 book ai didi

java - 在到达 Controller 之前和离开 Controller 之后解密/加密有效负载

转载 作者:行者123 更新时间:2023-12-02 00:49:37 25 4
gpt4 key购买 nike

我的应用程序收到加密的有效负载,我必须解密该对象的每个值。之后,我必须使用相同的格式加密有效负载并发送响应。

我需要的是一种在有效负载到达 Controller 之前拦截有效负载以解密并拦截加密数据的响应的方法。

我正在尝试使用 javax.servlet 的过滤器,但我不知道如何获取主体、更改其值并将其设置回来。

我已经尝试过拦截器,但在更改请求正文时遇到了同样的问题。


@Component
@Order(1)
public class CryptoFilter implements Filter {

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {

// code to decrypt request body goes here
filterChain.doFilter(request, response);
// code to encrypt response body goes here
}
}

请求正文如下:

{
"key1": "098f6bcd4621d373cade4e832627b4f6",
"key2": "098f6bcd4621d373cade4e832627b4f6",
"key3": {
"key4": "098f6bcd4621d373cade4e832627b4f6"
}
}

过滤后我需要在 Controller 上使用这个:

{
"key1": "decrypted",
"key2": "decrypted",
"key3": {
"key4": "decrypted"
}
}

最佳答案

如果您的应用程序使用 Spring 框架,您可以使用 AOP(面向方面​​编程)在过滤器周围定义一个方面,该方面将解密数据、调用过滤器方法并拦截响应以重新加密它。

https://docs.spring.io/spring/docs/2.5.x/reference/aop.html

关于java - 在到达 Controller 之前和离开 Controller 之后解密/加密有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57871066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com