public long GetGTK(string sKey) { int hash = 5381; for (int i = 0, len = sKey.Length; i < len; ++i) { hash += (hash << 5) + (int)sKey[i]; } return (hash & 0x7fffffff); } long GetBkn(string skey) { var hash = 5381; for (int i = 0, len = skey.Length; i < len; ++i) hash += (hash << 5) + (int)skey[i]; return hash & 2147483647; }