Javascript 对paygOPS中的令牌进行解码和编码
我有一个基于下面指定的脚本创建的程序 值的编码 该值通过屏蔽 “起始代码”中的值。这是通过将值添加到 “起始代码”的最后3位,如果结果值超过 999,然后从该值中减去1000。例如,如果代码 是“123456 789”,并且要编码的值是50,即结果代码 编码值为“123456 839”。解码是由 将“起始代码”基数(最后3位)减去基数 接收到的代码的(最后3位)。例如,如果收到 代码是123456829,基数是829。从829中减去789得到 40这是一个值。如果获得的值为负值,则为1000 需要添加 解码设备上的代码Javascript 对paygOPS中的令牌进行解码和编码,javascript,decode,encode,Javascript,Decode,Encode,我有一个基于下面指定的脚本创建的程序 值的编码 该值通过屏蔽 “起始代码”中的值。这是通过将值添加到 “起始代码”的最后3位,如果结果值超过 999,然后从该值中减去1000。例如,如果代码 是“123456 789”,并且要编码的值是50,即结果代码 编码值为“123456 839”。解码是由 将“起始代码”基数(最后3位)减去基数 接收到的代码的(最后3位)。例如,如果收到 代码是123456829,基数是829。从829中减去789得到 40这是一个值。如果获得的值为负值,则为1000 需
let code = 123456;
let base = 789;
let units = 50;
let originalUnits=0;
//units = 1000;
let maxBase=1000;
console.log("Default: "+code.toString()+base);
let token = encodeToken(base,units,code);
//token = "123456383";
//token="123456967";
console.log("Token: "+token);
let decodedBase = decodeToken(token,base);
console.log("Decoded: "+decodedBase);
console.log(isValid(decodedBase));
function getUnit(userBase,sysBase) {
let resultUnit = userBase-sysBase;
if(resultUnit<=0) resultUnit = (resultUnit+maxBase);
return resultUnit;
}
function encodeToken(base,units,code) {
if(units != Math.floor(units)){
//originalUnits = units;
//units = Math.ceil(units);
}
let key = (base + units);
if(key>maxBase){
if(key>9999) return false;
key = (key-maxBase);
}
return code.toString()+key;
}
function decodeToken(token,base) {
if(token.toString().length!==9)return [0,0];
let key = token.toString().substring(6,9);
let resultUnit = getUnit(key,base);
return resultUnit;
}
let code=123456;
设基数=789;
单位=50;
设原始单元=0;
//单位=1000;
设maxBase=1000;
log(“默认值:+code.toString()+base”);
let token=encodeToken(基数、单位、代码);
//token=“123456383”;
//token=“123456967”;
console.log(“令牌:+Token”);
设decodedBase=decodeToken(令牌,基);
log(“解码:+decodedBase”);
log(isValid(decodedBase));
函数getUnit(userBase、sysBase){
让resultUnit=userBase sysBase;
如果(resultUnitmaxBase){
如果(键>9999)返回false;
key=(key maxBase);
}
返回代码.toString()+键;
}
功能解码令牌(令牌,基本){
if(token.toString().length!==9)返回[0,0];
让key=token.toString().substring(6,9);
让resultUnit=getUnit(键,基);
返回结果;
}
我想把第二段解释成一个代码,我不明白
谢谢