网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络编程首页 | ASP | ASP.NET | PHP | JSP | C# | Delphi | Java | C/C++ | XML | SMS | VC | VB | 数据库 |
您现在的位置: 超人气学院 >> 网络编程 >> C# >> c#应用 >> 文章正文 用户登录 新用户注册
C# Google PageRank .net库 (checksum)           
C# Google PageRank .net库 (checksum)
作者:未知 文章来源:mx68.com收集 点击数: 更新时间:2006-1-19 15:40:31

nbsp;   b+=(uint)(url[k+6]<<16);
144     b+=(uint)(url[k+5]<<8);
145     b+=(uint)(url[k+4]);
146     a+=(uint)(url[k+3]<<24);
147     a+=(uint)(url[k+2]<<16);
148     a+=(uint)(url[k+1]<<8);
149     a+=(uint)(url[k+0]);
150     break;
151    }
152    case 6 :
153    {
154     b+=(uint)(url[k+4]);
155     a+=(uint)(url[k+3]<<24);
156     a+=(uint)(url[k+2]<<16);
157     a+=(uint)(url[k+1]<<8);
158     a+=(uint)(url[k+0]);
159     break;
160    }
161    case 5 :
162    {
163     b+=(uint)(url[k+4]);
164     a+=(uint)(url[k+3]<<24);
165     a+=(uint)(url[k+2]<<16);
166     a+=(uint)(url[k+1]<<8);
167     a+=(uint)(url[k+0]);
168     break;
169    }
170    case 4 :
171    {
172     a+=(uint)(url[k+3]<<24);
173     a+=(uint)(url[k+2]<<16);
174     a+=(uint)(url[k+1]<<8);
175     a+=(uint)(url[k+0]);
176     break;
177    }
178    case 3 :
179    {
180     a+=(uint)(url[k+2]<<16);
181     a+=(uint)(url[k+1]<<8);
182     a+=(uint)(url[k+0]);
183     break;
184    }
185    case 2 :
186    {
187     a+=(uint)(url[k+1]<<8);
188     a+=(uint)(url[k+0]);
189     break;
190    }
191    case 1 :
192    {
193     a+=(uint)(url[k+0]);
194     break;
195    }
196     /* case 0: nothing left to add */
197   }
198   m_mix = mix(a,b,c);
199   /*-------------------------------------------- report the result */
200   return m_mix[2];
201  }
202
203  private uint GoogleCH(string url, uint length)
204  {
205   uint[] m_urluint=new uint[url.Length];
206   for(int i=0;i<url.Length;i++)
207   {
208    m_urluint[i]=url[i];
209   }
210   return GoogleCH(m_urluint,length,GOOGLE_MAGIC);
211  }
212
213  private uint GoogleCH(string sURL)
214  {
215   return GoogleCH(sURL,0);
216  }
217
218  private uint GoogleCH(uint[] url, uint length)
219  {
220   return GoogleCH(url, length, GOOGLE_MAGIC);
221  }
222
223  private uint[] c32to8bit(uint[] arr32)
224  {
225   uint[] arr8=new uint[arr32.GetLength(0)*4+3];
226
227   for(int i=0;i<arr32.GetLength(0);i++)
228   {
229    for (int bitOrder=i*4;bitOrder<=i*4+3;bitOrder++)
230    {
231     arr8[bitOrder]=arr32[i]&255;
232     arr32[i]=zeroFill(arr32[i], 8);
233    }   
234   }
235   return arr8;
236  }
237
238  //新算法,ToolBar 版本>>=2.0.114
239  public string CalculateChecksum(string sURL)
240  { 
241   uint ch=GoogleCH("info:" + sURL);
242   
243   ch = (((ch/7) << 2) | (((uint)(ch%13))&7));
244
245   uint[] prbuf = new uint[20];
246   prbuf[0] = ch;
247   for(int i = 1; i < 20; i++) {
248    prbuf[i] = prbuf[i-1]-9;
249   }
250   ch = GoogleCH(c32to8bit(prbuf), 80);
251
252   return string.Format("6{0}",ch);
253  }
254
255  //老算法,ToolBar 版本<2.0.114
256  public string CalculateChecksumOld(string sURL)
257  { 
258   uint ch=GoogleCH("info:" + sURL);
259   
260   string CalculateChecksum = "6" + Convert.ToString((ch));
261   return CalculateChecksum;
262  }
263 }
264}

上一页  [1] [2] 

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     C#编写的windows计算[1370]
     Sql server存储过程[799]
     用C#实现FTP搜索引擎[604]
    相 关 文 章
    JGoodiesForms1.0.5Releas
    界面开发之C#VSJava
    QandA:J2EE1.4:TheGoldSta
    谁持彩练当空舞--看Java、
    浅谈Java与C#的事件处理机
    GoOpenSource
    我发布的第一个java作品:
    GodeepintoHashCodemethod
    YourGoal--从我的成长之路
    Java语言之父JamesGosling
    JUnit--Agoodthingtounitt
    Jboss3.2.6终于出了,logou
    针对Java开发人员的C#编程
    小试iBatis(Good)
    PerformancecomparisonC++
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)