@10yun/open-sdk
Version:
开放平台接入sdk
44 lines (43 loc) • 1.21 kB
JavaScript
/**
* @action 生成加密
* @param String _str
* @param Boolean short 是否简短一些
* @returns
*/
export function encryptStrEncode(_str, short = false) {
var staticchars = 'PXhw7UT1B0a9kQDKZsjIASmOezxYG4CHo5Jyfg2b8FLpEvRr3WtVnlqMidu6cN';
var encodechars = '';
for (var i = 0; i < _str.length; i++) {
var num0 = staticchars.indexOf(_str[i]);
if (num0 == -1) {
var code = _str[i];
} else {
var code = staticchars[(num0 + 3) % 62];
}
var num1 = parseInt(Math.random() * 62, 10);
if (short) {
encodechars += code + staticchars[num1];
} else {
var num2 = parseInt(Math.random() * 62, 10);
encodechars += staticchars[num1] + code + staticchars[num2];
}
}
return encodechars;
}
export function encryptStrDecode(_str, short = false) {
var staticchars = 'PXhw7UT1B0a9kQDKZsjIASmOezxYG4CHo5Jyfg2b8FLpEvRr3WtVnlqMidu6cN';
var decodechars = '';
for (var i = 1; i < _str.length; ) {
var num0 = staticchars.indexOf(_str[i]);
if (num0 == -1) {
var code = _str[i];
} else {
var code = staticchars[(num0 + 59) % 62];
}
decodechars += code;
if (!short) {
i = i + 3;
}
}
return decodechars;
}