腾讯QQ空间g_tk算法,JS算法转成C#算法
其实很简单,当我们得到skey后,循环取单字符的二进制并取左值.累加之后就得到后面的g_tk值了
下面是JS代码
function getGTK(str){
var hash = 5381;
for(var i = 0, len = str.length; i < len; ++i)
{
hash += (hash << 5) + str.charAt(i).charCodeAt();
}
return hash & 0x7fffffff;
}
我想把转换成C#代码,我下面这样转哪里出错了
string str;
long hash = 5381;
for (int i = 0; i < str.Length; i++) {
hash += (hash << 5) + str[i];
}
hash += 0x7fffffff;
------解决方案--------------------
上面是与操作 hash & 0x7fffffff; 下面怎么变加了 hash += 0x7fffffff;
C# 也是这个hash & 0x7fffffff;