• 数据的加密&解密(二)


    简单介绍一下数据加密解密的过程:

    密钥系统的加密与解密,效果如下:


              所在部门:<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=" 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=" 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();
        }
  • 相关阅读:
    MyEclipse快捷键大全
    重新整理,MyBatis3之Mapper封装
    重新整理,MyBatis3之初步,实体的增加、修改、删除、查询
    VUE学习二十,组件初步component
    SSIS探索之SSIS增量抽取数据
    VS2015 搭建.NET Core 开发环境
    用Middleware给ASP.NET Core Web API添加自己的授权验证
    后端开发都应该了解点接口的压力测试(Apache Bench版)
    基于OpenSSH+WinSCP完成Windows服务器之间的文件传输
    ASP.NET Core Authentication系列(二)实现认证、登录和注销
  • 原文地址:https://www.cnblogs.com/liu321kai/p/6742549.html
Copyright © 2020-2023  润新知