日期:2014-05-18  浏览次数:20725 次

腾讯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;