1、Spring配置文件中配置拦截器:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/api/**"/> //拦截路经
<bean class="com.example.CustomInterceptor"/> //拦截器
</mvc:interceptor>
</mvc:interceptors>
2、工具类
public class AesUtil {
public static String KEY = "申请的密钥";
static AES des = new AES(Mode.ECB, Padding.PKCS5Padding, KEY.getBytes());
;
public static String encryptHex(String str) {
return des.encryptHex(str);
}
public static String decryptStr(String str) {
return des.decryptStr(str, CharsetUtil.CHARSET_UTF_8);
}
}
3、拦截器
public class CustomInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 解密请求参数
String encryptedParam = request.getParameter("data");
String decryptedParam = AESUtil.decryptStr(encryptedParam);
request.setAttribute("decryptedParam", decryptedParam);
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 加密返回结果
String result = "This is a encrypted result.";
String encryptedResult = AESUtil.encryptHex(result);
PrintWriter out = response.getWriter();
out.write(encryptedResult);
out.flush();
}
}