프런트엔드 암호 암호화 백엔드 복호화
//
$("#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 eszMap = new HashMap();//
String passWord = request.getParameter("passWord");
if(passWord!=null && (!"".equals(passWord))){
eszMap = apply(passWord);
passWord=eszMap.get(0);
}
public static Map apply(String code) {
try {
Map context = new HashMap();
List partList = new ArrayList(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 partList, Map 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 partList) {
return Integer.parseInt(partList.remove(0)) ^ key;
}
다음으로 전송:https://www.cnblogs.com/bowei/p/9442503.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.