数据的加密&解密(二)
简单介绍一下数据加密解密的过程:
密钥系统的加密与解密,效果如下:
所在部门:<input type="text" name="part" id="part"/>
使用状态:<input type="text" name="sta" id="sta"/>
<br>
<input type="button" id="nyform" value="查询" onclick="getKeyInfoByDept(); " style="margin-right:0px"/>
通过页面提交数据给ajax,将数据传到servlet处理,servlet 处理数据加密解密过程中用到了加密解密方法();再将数据传到ajax实现异步传递;
---------------------->
<script> function getKeyInfoByDept(){ // 接收查询下条件 var part = document.getElementById("part").value; var stu = document.getElementById("sta").value; var strSa=""; //先声明一个异步请求对象 var xmlHttpReg = null; if (window.ActiveXObject) {//如果是IE xmlHttpReg = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttpReg = new XMLHttpRequest(); //实例化一个xmlHttpReg } //如果实例化成功,就调用open()方法,就开始准备向服务器发送请求 if (xmlHttpReg != null) { xmlHttpReg.open("post", "<%=basePath%>getKeyStatusCountServlet", true); xmlHttpReg.setRequestHeader("Cache-Control","no-cache"); xmlHttpReg.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); //向后台传值 // xmlHttpReg.send('part='+part+'&sta='+stu); //xmlHttpReg.send("sta=stu"); //设置回调函数 xmlHttpReg.onreadystatechange = function () { if (xmlHttpReg.readyState == 4) { if(xmlHttpReg.status == 200){ // var myobj=eval(xmlHttpReg.responseText); if(myobj.length==0){ var strS="<table border=\"1\" style=\"width: 98%;\" class=\"imagetable\"><tr class=\"tableHead\"><td >密钥序号<img src=\"images/asc.png\" /></td><td>用户名<img src=\"images/asc.png\" /></td><td>所在部门<img src=\"images/asc.png\" /></td><td>状态<img src=\"images/asc.png\" /></td></tr>"; strS+="<tr><td colspan=\"6\" align=\"center\">暂无分配信息</td></tr>"; document.getElementById("tablebody").innerHTML=""; document.getElementById("tablebody").innerHTML+=strS; }else{ var strS="<table border=\"1\" style=\"width: 98%;\" class=\"imagetable\"><tr class=\"tableHead\"><td >密钥序号<img src=\"images/asc.png\" /></td><td>用户名<img src=\"images/asc.png\" /></td><td>所在部门<img src=\"images/asc.png\" /></td><td>状态<img src=\"images/asc.png\" /></td></tr>"; for(var i=0;i<myobj.length;i++){ //selectObj.options[selectObj.length] = new Option(myobj[i].companyinfo.name,myobj[i].companyinfo.id); strS+="<tr><td>"+myobj[i].companyinfo.keysn+"</td><td>"+myobj[i].companyinfo.laborname+"</td><td>"+myobj[i].companyinfo.companyid+"</td><td>"+myobj[i].companyinfo.keystatus+"</td></tr>"; } strS+="</table>"; document.getElementById("tablebody").innerHTML=""; document.getElementById("tablebody").innerHTML+=strS; } } } } xmlHttpReg.send('part='+part+'&sta='+stu); } } </script>
--------------------->
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); String part = request.getParameter("part"); //String str1=new String(part.getBytes("ISO-8859-1"),"GBK"); String str11=new String(part.getBytes("ISO-8859-1"),"utf-8"); //String str12=new String(part.getBytes("utf-8"),"GBK"); //String str13=new String(part.getBytes("utf-8"),"ISO-8859-1"); //String str14=new String(part.getBytes("GBK"),"ISO-8859-1"); //String str15=new String(part.getBytes("GBK"),"utf-8"); String sta = request.getParameter("sta"); String str2=new String(sta.getBytes("ISO-8859-1"),"utf-8"); String tems1 = ""; if(str2.equals("正在使用")){ tems1="use"; }else if(str2.equals("暂停使用")){ tems1="pause"; }else if(str2.equals("停止使用")){ tems1="stop"; }else{ tems1=""; } //String s1 = Base64.encodeBaseString(tems1); String s1 = Base64.encodeFixLenString(tems1); PrintWriter out = response.getWriter(); String userId=""; String sql=""; List menuList=new ArrayList(); //sql="select a.keysn,t.laborname,case when deptnum is null then company else deptnum end bmbm,a.keystatus,a.description,a.id,a.userid1,a.companyid,a.infotwo from labor t,sys_key a where a.userid1=t.id and a.companyid='"+serchStr+"'"; //sql = " select a.keysn,b.laborname,b.bmbm, a.keystatus,a.description,a.id,a.userid1,a.companyid,a.infotwo,b.userid from (select a.laborname,case when deptnum is null then company else deptnum end bmbm,t.id userid from ibsusers t,labor a where t.labornum=a.labornum) b,sys_key a where a.userid1=b.userid and a.companyid='"+serchStr+"'"; sql =" select t.companyid ,a.laborname ,t.keysn ,t.KEYSTATUS from sys_key t left join IBSUSERS b on b.id = t.id left join labor a on a.labornum = b.labornum where 1=1 "; if(!str11.equals("")){ sql +=" and t.companyid like '%"+str11+"%' "; } if(!s1.equals("")){ sql +=" and t.keystatus = '"+s1+"'"; } try { List list = IBOSrvUtil.getBaseDao().selectListBySql(sql); JSONArray jsonArr=new JSONArray(); for(int i=0;i<list.size();i++){ Map map = (Map) list.get(i); Map<String, String> compMap = new HashMap<String, String>(); //keysn解密 compMap.put("keysn", Base64.decodeToFixLenString(map.get("KEYSN")==null?"":map.get("KEYSN").toString())); compMap.put("laborname", map.get("LABORNAME")==null?"":map.get("LABORNAME").toString()); compMap.put("companyid", map.get("COMPANYID")==null?"":map.get("COMPANYID").toString()); //keyststus 解密 String temstatus = Base64.decodeToFixLenString(map.get("KEYSTATUS")==null?"":map.get("KEYSTATUS").toString()); String status = ""; if(temstatus.equals("use")){ status="正在使用"; }else if(temstatus.equals("pause")){ status="暂停使用"; }else{ status="停止使用"; } compMap.put("keystatus", status); JSONObject compJson = new JSONObject(); compJson.put("companyinfo", compMap); jsonArr.add(compJson); } System.out.println(jsonArr.toString()); out.print(jsonArr.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } out.flush(); out.close(); }