您的位置:首页 > 编程语言 > Java开发

java实现AES加密

2017-08-19 10:25 225 查看
前段时间公司项目新起,因此需要用到AES加密,现在回过头来感觉要总结一下,于是自己就搞了一个小demo,可以直接运行的简单java项目,点这里直接下载,大家可以下载下来运行一下,debug一下,一目了然。



再具体的详细代码就不赘述了,大家下载后自己看吧,相信有java基础就可以懂得

AES配上过滤器,完美的组合

package com.jeeplus.common.filter;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jeeplus.modules.qsyz.encrypt.BackAES;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.http.HttpRequest;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

public class VerifyFilter implements Filter{

public static final String KEY_ENCRYPT = "s";

private BackAES secret;

@Override
public void init(FilterConfig paramFilterConfig) throws ServletException {

secret = new BackAES();
}

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

String securityString = request.getParameter(KEY_ENCRYPT);
//String securityString = "NcoD6Z2BGvP0u33rs1AQXNtfzjkZ8Nis3nqSi0BINx49yqCw+/jxgOS7w6AQ6Fzq";
System.out.println(securityString+"获取app加密的字符串");
String hexKey = "5de7e29919fad4d5";
HttpServletRequest request1=(HttpServletRequest) request;
String method=request1.getMethod();
if(method.equals("POST")){
if (securityString == null) {
chain.doFilter(request, response);
} else {
try {
String decryptString = secret.decrypt(securityString, hexKey, 0);
decryptString = StringEscapeUtils.unescapeHtml4(decryptString);
if (decryptString != null) {
System.out.println("获取的加密String为" + decryptString);

JSONObject requestJson = JSON.parseObject(decryptString);
for (String key : requestJson.keySet()) {
request.setAttribute(key, requestJson.get(key));
System.out.println("取得的数据key----"+key+"----value为"+ requestJson.get(key));
}

// 验证通过
chain.doFilter(request, response);
} else {
response.getWriter().println("验证失败");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}else {

chain.doFilter(request, response);

}

}

@Override
public void destroy() {

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加密