记得上次在C#模拟POST提交表单(二)--HttpWebRequest以及HttpWebResponse中说过,要介绍下验证码,那么现在就开始介绍验证码。
先扯一段历史,最早的验证码来自于反垃圾邮件,据说是美国一家免费邮件供应商,饱受邮件轰炸的困扰,然后他们找到了卡内基梅隆大学Luis von Ahn,这位年仅21岁的天才(当然,也有说是卡内基梅隆大学的Luis von Ahn、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出)想出了验证码的方法,因为即使在现在,计算机的能力还是不能与人脑匹敌,出现在图片上的文字最多会让正常人邹下眉头,但是绝对够计算机喝一壶的。 这被Luis von Ahn称为 Capcha(还有个项目在官网http://www.captcha.net/上面,提供免费验证码服务),也就是验证码。对,你应该发现了,验证码的设计就是体现了这一点:用计算机和人脑的能力差别来区分机器和人。
好了,现在开始进入正题,开始介绍验证码:
首先,最常见的验证码,图片验证码,来见识下
有没有种想吐的感觉?==#
对了,上面就是各种常见的图片验证码,总结来说(当然,这里主要以那种要求你写出图片中的字符这样的验证码为主),主要有在两方面下手:背景以及字符
至于背景,有简单的纯色背景、噪声点、线背景、纹理背景还有图像背景等
字符来说,主要是字母、数字以及汉字等字符的组合,普通的就是相当于直接印刷体,高级点的有重叠、手写体、扭曲、旋转、仿射变换等等
产生验证码技术和验证码识别技术发展就是个道高一丈,魔高一尺的过程,两种技术都在发展,都在趋向于越来越复杂,越来越高级的方向发展,我所说的两种下手方式,就是遵循了这样的发展规律,从简单到复杂,从容易到困难。很显然,目前那种纯色背景加上简单数字和字母的验证码早已过时,那么,现在你在用那种验证码呢?
除了上面说的简单写出图片上的字符型的验证码,还有很多其它更高级的验证码,
比如:
图像类:一个普通的等式、一个常见的问题让写出答案、一幅常见物品或者生物的图像让写出名称
声音类:相当于听写,可以跟上面的结合起来,比如问问题
专业类:也可以算是图像类,就是这个网站或者应用的客户对象是局限于某一特定专业人群的,比如,计算机的,那么,我们就可以写一段简单的程序,让他写出运算结果。
其它:参考http://sd.csdn.net/a/20110429/296881.html,很有意思的验证码设计,很另类
(还有其它的请指教)
现在只是介绍下验证码,下次就该实现了,敬请期待^_^