}
/**
-
62进制字符串转为数字
-
@param str 编码后的62进制字符串
-
@return 解码后的 10 进制字符串
*/
public static long decode(String str) {
/*
将 0 开头的字符串进行替换
*/
str = str.replace("^0*", “”);
long num = 0;
int index;
for (int i = 0; i < str.length(); i++) {
/*
查找字符的索引位置
*/
index = chars.indexOf(str.charAt(i));
/*
索引位置代表字符的数值
*/
num += (long) (index * (Math.pow(scale, str.length() - i - 1)));
}
// id混淆算法
long snum = num & 0xff000000;
snum += (num & 0x00ff0000) >> 8;
snum += (num & 0x0000ff00) << 8;
snum += (num & 0x000000f0) >> 4;
snum += (num & 0x0000000f) << 4;
return snum;
}
public