[JavaScript] 纯文本查看 复制代码 var H2b32 = function(srcStringH) {
srcString = hex2a(srcStringH);
var BASE32CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
var i = 0;
var index = 0;
var digit = 0;
var currByte;
var nextByte;
var retrunString = '';
for (var i = 0; i < srcString.length; ) {
currByte = srcString
if (index > 3) {
if ((i + 1) < srcString.length) {
nextByte = srcString[i + 1]
} else {
nextByte = 0;
}
digit = currByte & (0xFF >> index);
index = (index + 5) % 8;
digit <<= index;
digit |= (nextByte >> (8 - index));
i++;
} else {
digit = (currByte >> (8 - (index + 5))) & 0x1F;
index = (index + 5) % 8;
if (index == 0) {
i++;
}
}
retrunString = retrunString + BASE32CHAR.charAt(digit);
}
while((retrunString.length % 8) !== 0){
retrunString += "=";
}
return retrunString;
}
function hex2a(hexx) {
var hex = hexx.toString();//force conversion
var str_list = [];
for (var i = 0; (i < hex.length ); i += 2)
str_list.push(parseInt(hex.substr(i, 2), 16));
return str_list;
}
测试了下,你这个编码没问题,只不过你要多测试下各种,因为要修改原版的,没搜到直接16进制编码的,如果有问题就自己改改吧
源码放这里了,网页直接复制可能会出错,下载下边的 txt吧
hex2base32.txt
(1.33 KB, 下载次数: 3)
|