电脑为什么打不出来数字 电脑为啥打不出来数字( 二 )


刚刚兴起的互联网,无异于一条自行车都能上的高速公路,有人办正事,就有人制造代码程序故意捣乱 。
当封号的速度赶不上恶意注册的速度,人工审核追不上重复运行的代码时,给上网冲浪设置门槛便迫在眉睫 。
2003年,为解决这个问题,来自卡内基梅隆大学的一群博士创造了CAPTCHA,是一个全自动区分计算机和人类的公开图灵测试 。
所谓图灵测试,就是人类提问计算机解答,用来判定计算机能否在智力行为上表现得和人无法区分 。
想要分辨电脑前是否为真人,只需要把这个测试反过来——由机器提问人类解答,“验证码”应运而生 。

电脑为什么打不出来数字 电脑为啥打不出来数字

文章插图
最早的验证码,于1997年设计公布并申请了专利
早期的验证码,由被变形、扭曲、翻转的字符串或者数字组成 。
机器人看不懂,人类用肉眼却可以轻松辨认 。
有了这道简单的门槛,垃圾邮件、黄牛插件和恶意攻击的爬虫程序,就被轻松挡在了网页外 。
然而好景不长,这样的验证码很快就被程序破解了 。
再复杂的程序也离不开26个英文字母、10个阿拉伯数字的组合,只要利用程序算法将字符与背景分离,久而久之,资料库便学会了识别 。
与此同时,一套由庞大中文字符库组成的中文验证码,就这样出现了 。
辨认相似结构的汉字、给汉字标拼音,以及按顺序点击打乱的成语,成了中文验证码的常规操作 。
电脑为什么打不出来数字 电脑为啥打不出来数字

文章插图
发展到最后,图文并用、阅读理解纷纷上阵,验证码的形式越来越多样,计算机的识别技术也越来越强 。
电脑为什么打不出来数字 电脑为啥打不出来数字

文章插图
升级版数字验证码
验证码的迭代,变成了一场“道高一尺,魔高一丈”的较量 。
它既是程序员们智力的角逐,也是一场人机对抗学习 。
时至今日,形式各样的验证码已经在互联网的考验洗礼中,按照功能分成了不同阵营 。
当你想上个新闻网站,迎接你的大概率是点击型验证码 。
算法会根据鼠标的运营轨迹判断你是否是真人,同时还能帮助验证码系统进化 。
“我不是机器人”
当你登录私人账号时,滑动型验证码一边通过拖动速度判别真人,一边还会送上贴心鼓励:
“恭喜你用时1.6秒,超过全国90%的人 。”
三、验证码能消失吗?面对越来越变态的验证码,不少人质疑:
“为了保护我银行卡里的五毛钱,设置八层验证真的值得吗?”
答案是,值得 。
所谓安全验证,判断的不仅仅是用户注册时设置的用户名、密码等,还要判断是不是真人、是不是本人操作 。
目前为止,乖乖输入验证码,依然是区别人和计算机最有效率的方法 。
鲜有人知的是,验证码的存在除了保护信息安全,人类还能利用它干点正事儿 。
发明初代验证码的天才Luis von Ahn,曾在2004年带领团队上线了一个叫reCAPTCHA的验证码系统 。
他们把计算机难以识别的旧书籍扫描成电子版,将其中斑驳的文字对接到验证码上让人们来识别 。
靠着这个巧妙的方法,系统每年能成功数字化230多万本旧书 。
【电脑为什么打不出来数字 电脑为啥打不出来数字】图源:世界复杂性科学研究院
当人们以为这便是验证码的光明结局时,有人本着魔法打败魔法的原则,推出了破解验证码的插件 。
只要遇到图形验证型验证码,小插件不仅会自动帮用户点击,甚至还会利用深度学习训练模型提高自己的精准度——
用的人越多,小插件就越精准 。
电脑为什么打不出来数字 电脑为啥打不出来数字

文章插图
你不仁就不要怪我不义/图源:chrome应用商店
围观了这一波腥风血雨的“验证码之战”后,有人感叹:
“验证码拿用户训练机器人,用户用机器人绕过验证码,最后机器人学到了最多 。”
验证码难度的提升,反映的是人工智能技术的进步 。
当机器越来越“聪明”,人类面临的挑战便越来越多,再复杂的验证码,也会有走投无路的一天,需要寻求新的改革 。
但作为只想要网上轻松冲浪的用户,我们只求验证码,别再让我找出图片中微笑的狗、云做的马了 。
作者:白小哲;公众号:网易公开课(ID:open163)
原文标题:越来越变态的验证码,到底在验证啥

推荐阅读