﻿function xordecode(Key, DataIn) {
    var intXOrValue1 = 0;
    var intXOrValue2 = 0;
    var sOut = '';
    for (var lonDataPtr = 0; lonDataPtr < ((DataIn.length / 2)); lonDataPtr++) {
        intXOrValue1 = h2d((DataIn.substr((2 * lonDataPtr), 2)));
        intXOrValue2 = Key.substr(lonDataPtr % Key.length, 1).charCodeAt(0);
        sOut += String.fromCharCode(intXOrValue1 ^ intXOrValue2);
    }
    return sOut;
}

function d2h(d) { return d.toString(16); }
function h2d(h) { return parseInt(h, 16); } 
