请问登录时的《验证码》原理是怎样的?有多少种验证码方式?

romanitc 2011-04-16 12:30:07
请问登录时的《验证码》原理是怎样的?有多少种验证码方式?我应用在s2sh中!
...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

常见的验证码
1,四位数字,随机的一数字字符串,最原始的验证码,验证作用几乎为零;

2,CSDN网站用户登录用的是GIF格式,目前常用的随机数字图片验证码。图片上的字符比较中规中矩,验证作用比上一个好。没有基本图形图像学知识的人,不可破!可惜读取它的程序,在CSDN使用它的第一天,好像就在论坛里发布了;

3,QQ网站用户登录用的是PNG格式,图片用的随机数字 随机大写英文字母,每刷新一次,每个字符都会变位置呢!主要是为了防止有人利用软件批量获取QQ号码;

4,MS的hotmail申请时候的是BMP格式, 随机数字 随机大写英文字母 随机干扰像素 随机位置;

5,Google的Gmail注册时候的是JPG格式,随机英文字母 随机颜色 随机位置 随机长度;

6,其他各大论坛的是XBM格式,内容随机。
magicluo 2011-04-16
  • 打赏
  • 举报
回复
主要是随机生成数字或者字母汉字 并将生成的内容输出为图像,输出的图像中加上随机的干扰像素...

实际的内容会保存在session中,以便和客户端提交的内容进行匹配..

有些开源的成品,你可以下载源码研究下:
simplecaptcha: http://www.oschina.net/p/simplecaptcha
还有Jcaptcha。。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧