验证码的前世今生

“你永远不知道,网络对面坐的一个人还是一只狗”
--网友戏说
视频、出行、购物等网站的使用者,就一定是人类吗?会不会是伪装成“人类”的计算机呢?
为了能够识别人类和计算机,“验证码”应运而生 。

验证码的前世今生

文章插图
今天,让我们了解一下验证码的前世今生吧!
01
 
先了解什么是“图灵测试”
从1946年世界上第一台计算机出现开始,聪明的人类就已经考虑计算机发展到替代人类的可能性 。艾伦·麦席森·图灵,被称为计算机科学之父、人工智能之父,专门设计了一个著名的“图灵测试”,用来判定计算机能否在智力行为上表现得和人无法区分 。
 
验证码的前世今生

文章插图
当主持人问了1个问题,然后无法从2个解答中分辨出谁是人类、谁是计算机时,就表明计算机的智能水平已经与人类没有差异了 。
“图灵测试”是由人类来判断:谁是计算机?谁是人类?
最重要的目的,是识别出计算机 。
02
 
反过来的“图灵测试” 就是验证码
那么“验证码”,是由计算机来判断:谁是人类?谁是计算机?
最重要的目的,是识别出人类 。
这一点,可以从验证码的中英文全称中看出来:CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart, 全自动区分计算机和人类的公开图灵测试),又名HIP(Human Interaction Proof,人类交互行为证明) 。
最典型的验证码,如下图所示 。
 
验证码的前世今生

文章插图
以目前的眼光来看,这个验证码确实略显简陋 。
但是在计算机技术还不发达的年代,这样的验证码,已经足以识别出人类:
  • 只有人类,才能识别出验证码中被严重扭曲的字母或者数字;
  • 而计算机,则无法识别 。
 
基于这样的验证码,各种计算机系统(例如:网站、邮箱等)成功识别到真正的人类后,允许人类继续操作,比如:登录邮箱、投票等 。
03
 
为“保护”而生的验证码
当各种计算机系统无法识别人类和计算机时,计算机技术也能给人类带来麻烦,例如:
  • 邮箱的泛滥注册,导致垃圾邮件满天飞;
  • 投票的野蛮刷票,导致投票结果不公正;
  • 车票的插件抢占,导致返乡车票买不到 。
1999年一个网站发起的在线投票,推选全美计算机科学专业最好的学校时,按理来说是一个人投一张票 。但是投票网站在设计的时候,没有考虑太多,只以投票者所在计算机的IP地址作为判断依据 。
于是有人编写了计算机脚本进行批量刷票:每次投票完后更改一个IP地址,然后继续投票 。这样的话,有成千上万个IP地址就代表了成千上万个不同的人,就可以投成千上万票 。
这样的计算机技术,无疑是影响到了整个投票的公平性 。
所以说,各种计算机系统,需要一个坚固的“盾”来保护自己 。
实际上,第一种验证码(字符型)的出现,就是为了对抗“自动刷票”这种计算机技术的 。
04
【验证码的前世今生】 
越来越坚固的“盾”
 
那么你知道都有哪些千奇百怪的“验证码”吗?
01
字符型
字符型验证码,是我们日常最经常见到的验证码 。通常是一些字母、数字的组合,而且为了增加识别的难度,这些字符经常会被变形、被扭曲、被翻转 。
 
验证码的前世今生

文章插图
随着计算机技术的发展,字符型验证码的安全程度在降低,逐渐被其他类型验证码替代 。
02
计算型
计算型验证码,通常是一些数学公式,需要人类发动聪明的大脑进行复杂的运算,才能得出正确的结果 。
 
验证码的前世今生

文章插图
很遗憾,这种可以提供较高安全性的验证码,虽然计算机很难识别,但是大部分人类自己也觉得很难 。所以计算型验证码,并没有广泛应用过 。
03
点击型
点击型验证码的最大特点是:使用者只需要通过鼠标进行点击,不需要输入任何东西 。通过这种人类专属的行为动作,以及使用者在浏览器中的一些操作数据、浏览数据等,共同识别出真正的人类 。


推荐阅读