function divider(key) { return merge(padding(),key,padding()) } function padding() { return "%7C%2A-%2A%7C"; } function merge(...args) { return args.join(""); } function unformat(type , data, key) { var even = []; var odd = []; data.split("").forEach(function (v,idx,full) {if(idx % 2 === 0) {even.push(v)} else {odd.push(v)}}); switch (type) { case "T0": return merge(odd.join(""),divider(key),even.join("")); case "T1": return merge(odd.reverse().join(""),divider(key),even.join("")); case "T2": return merge(odd.join(""),divider(key),even.reverse().join("")); default: return merge(odd.reverse().join(""),divider(key),even.reverse().join("")); } } function checkDebug(){ var debug = false try { debug = typeof v8debug === 'object' || /--debug|--inspect/.test(process.execArgv.join(' ')); alert(debug) } catch (e) { } try { const inspector = require('inspector'); debug = inspector.url() !== undefined; alert(debug) } catch (e) { } } function post(target,type, data, key,callBackResult) { var httpRequest; /* 통신에 사용 될 XMLHttpRequest 객체 정의 */ httpRequest = new XMLHttpRequest(); /* httpRequest의 readyState가 변화했을때 함수 실행 */ httpRequest.onreadystatechange = () => { /* readyState가 Done이고 응답 값이 200일 때, 받아온 response로 name과 age를 그려줌 */ if (httpRequest.readyState === XMLHttpRequest.DONE) { if (httpRequest.status === 200) { callBackResult(httpRequest.response) } else { alert('Request Error!'); } } } httpRequest.open('POST', target, true); httpRequest.setRequestHeader("Content-Type", "text/plain"); var odd = [] var even = [] var dataStr = JSON.stringify(data) var src = dataStr.split("") src.forEach(function (s,i,a) {if (i % 2 === 0) {even.push(s)} else {odd.push(s)}}) httpRequest.send(btoa(JSON.stringify({ 'data': unformat(type,data,key), 'key':key, 'type':type, }))); }