//加密密码 $("#Submit").on("click",function(){ var passWord=$("#passWord").val(); var eles = []; eles.push(passWord); var esz = encode("0x12",eles); $("#passWord").val(esz); }) function encode(key, eles) { var keyVal = parseInt(key) var arr = [] for(var i = 0; i < eles.length; ++i) { var ele = eles[i] arr.push(ele.length ^ keyVal) for(var j = 0; j < ele.length; ++j) { arr.push(ele[j].charCodeAt(0) ^ keyVal) } } arr.push(keyVal) var context = "CV16" + arr.join("%") return context; }
Map<Integer, String> eszMap = new HashMap<Integer , String>();//解密 String passWord = request.getParameter("passWord"); if(passWord!=null && (!"".equals(passWord))){ eszMap = apply(passWord); passWord=eszMap.get(0); } public static Map<Integer, String> apply(String code) { try { Map<Integer, String> context = new HashMap<Integer, String>(); List<String> partList = new ArrayList<String>(Arrays.asList(code.substring(4).split("%"))); for(int index = 0, key = Integer.parseInt(partList.remove(partList.size() - 1)); read(index, key, partList, context); ++index); return context; } catch(Exception e) { e.printStackTrace(); return Collections.emptyMap(); } } private static boolean read(int index, int key, List<String> partList, Map<Integer, String> context) { if(partList.size() <= 0) return false; StringBuilder sb = new StringBuilder(); for(int i = 0, length = nextElement(key, partList); i < length; ++i) { sb.append(Character.toChars(nextElement(key, partList))); } context.put(index, sb.toString()); return true; } private static int nextElement(int key, List<String> partList) { return Integer.parseInt(partList.remove(0)) ^ key; }