网友留言 - 会员中心 -

 | 首页 | 建站教程 | 资源下载 | 源码程序 | 图片素材 | 网站运营 | 网页特效 | 免费资源 | 广告联盟 | 酷站欣赏 | 网页模板 | 查询 | 

现在位置: 站长启航学院 > 建站教程 > 网络编程 > ASP专区 > 正文
自动发贴程序之百度贴吧验证码算法

供稿:本站整理 来源:asp教学网 更新:2008-3-27 13:38:50

Tags:

自动发贴程序-<a百度贴吧验证码算法 src="/Article/UploadFiles/200803/20080327133937371.gif" onload="return imgzoom(this,550)">

图1

  可以看到,页面底部有一个表单,允许匿名发贴。如果要写一个自动发贴的程序,唯一的难点是验证码。

自动发贴程序-百度贴吧验证码算法

图2

  接下来查看页面源码,发现验证码是个图片,由脚本生成。验证码图片的链接是形如http://post-js.baidu.com/cgi-bin/c?[p1]&[p2]的样子,其中p1和p2是两个随机整数。

自动发贴程序-百度贴吧验证码算法

图3

  所有验证码图片上面都有4个阿拉伯数字,夹杂一些噪音点。可惜这些噪音点不是随机产生的,举个例子,http://post-js.baidu.com/cgi-bin/c?0&0和http://post-js.baidu.com/cgi-bin/c?65536&0这两个链接将产生两幅完全相同的图片。

  验证图片上面的数字是可以由产生它的链接地址直接计算出来的。公式的c代码如下:

p1 >>= 8;
p2 >>= 8;
p1 = (p1 & 0xff)+((p1 >> 16) << 8);
p2 = (p2 & 0xff)+((p2 >> 16) << 8);
result = (p1 + (p2 << 16)) % 10000;

  图3所示的链接地址可以生成图2中的验证码,对于这个例子,链接中的两个整数:

p1 = 695327974, p2 = 1581465364
p1 = p1/256 = 695327974/256 = 2716124
p2 = p2/256 = 1581465364/256 = 6177599
p1 = p1%256 + p1/65536*256 = 2716124%256 + 2716124/65536*256 = 10716
p2 = p2%256 + p2/65536*256 = 6177599%256 + 6177599/65536*256 = 24127
result = (p1 + p2*65536)%10000 = (10716 + 24127*65536)%10000 = 1581197788%10000 = 7788

  这就是图2中的验证码7788

发表评论」「加入收藏」「告诉好友」「打印此文」「关闭窗口
·上篇教程:
·下篇教程: 没有了
以下文章可能更适合您
没有相关教程
 
推荐内容
推荐教程动易无级栏目树状导航推荐教程动易首页调用自定义字
推荐教程Photoshop制作金属铁推荐教程Dreamweaver经典扩展
推荐教程ACCESS数据库重新编号推荐教程Photoshop“非主流”
推荐教程Photoshop制作金灿灿推荐教程WEB站点的后台定时任
推荐教程ASP.NET 2.0中客户端推荐教程使用Response.Redire
推荐教程ASP.NET页面从悲怆见推荐教程ASP.NET中调用存储过
推荐教程Asp.net日期字符串格推荐教程在asp.net2.0中使用存
推荐教程asp.net 将数据库里的推荐教程HyperLink控件控制图
精彩内容

Copyright © 2000-2008 Www.Cn06.Cn All rights reserved. 蓉华设计网络 晋ICP备05002875号

本站空间提供:IDC8数据中心 站长资源交流QQ群:4663525 中国站长启航学院(Cn06.Cn) 为新站长提供建站初始源动力