请问登录时的《验证码》原理是怎样的?有多少种验证码方式?我应用在s2sh中!

解决方案 »

  1.   

    验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。常见的验证码
    1,四位数字,随机的一数字字符串,最原始的验证码,验证作用几乎为零;2,CSDN网站用户登录用的是GIF格式,目前常用的随机数字图片验证码。图片上的字符比较中规中矩,验证作用比上一个好。没有基本图形图像学知识的人,不可破!可惜读取它的程序,在CSDN使用它的第一天,好像就在论坛里发布了;3,QQ网站用户登录用的是PNG格式,图片用的随机数字 随机大写英文字母,每刷新一次,每个字符都会变位置呢!主要是为了防止有人利用软件批量获取QQ号码;4,MS的hotmail申请时候的是BMP格式, 随机数字 随机大写英文字母 随机干扰像素 随机位置;5,Google的Gmail注册时候的是JPG格式,随机英文字母 随机颜色 随机位置 随机长度;6,其他各大论坛的是XBM格式,内容随机。 
      

  2.   

    主要是随机生成数字或者字母汉字 并将生成的内容输出为图像,输出的图像中加上随机的干扰像素...实际的内容会保存在session中,以便和客户端提交的内容进行匹配..有些开源的成品,你可以下载源码研究下:
    simplecaptcha: http://www.oschina.net/p/simplecaptcha
    还有Jcaptcha。。