恼人的验证码

2018-05-30 00:50
发明与创新 2018年18期
关键词:雅虎公司字符串路易斯

也许你曾被网络上一些奇葩的验证码折磨过,但无论如何,它们存在的目的是为了保护多数人的利益,维护正常的网络环境。

那么,究竟是谁发明了这些“恼人”的验证码?

★无验证码的时代★

一开始,网络上是没有验证码的。那时想要在论坛上发帖,只需轻轻敲一下回车键。这也给当时的网络黑客可乘之机,他们编写了一种能大量重复编辑信息的程序,伪装成人类用户,肆无忌惮地向网络倾倒无意义的“僵尸”信息,导致很多网站不能正常运营。

此外,还有数不尽的程序机器人恶意破解密码或刷票,从中获取非法利益。它们在网络世界横行霸道,使网络环境一片狼藉,眼看就要失控了。

其中受影响最大的当属电子邮件的提供商。他们的用户每天要接受数以百计的垃圾邮件的轰炸,严重地影响了正常的工作。当时最有实力的邮件提供商雅虎公司决定解决这个问题。很快,雅虎公司的负责人联系到当时卡内基梅隆大学一位名叫路易斯·冯·安的学生。

路易斯发现,人类可以用肉眼轻易地识别图片里的文字信息,而机器不能。当时的计算机辨识技术还很落后,无法辨识那些镶嵌在图片中的、被扭曲、污染过的文字,而人类只需稍稍皱眉就可以识别。

路易斯在导师布鲁姆的帮助下很快设计了一个程序,它先生成一个随机的字符串,比如smwm,然后对这串字符进行随机的扭曲、重叠、污染,再显示给要进行操作的用户。只要能识别这个变形了的字符串的,就是人类。

路易斯·冯·安

这个字符串经历过扭曲、右侧加光调色的处理

这个设计方案后来被命名为CAPTCHA(Completely Automated Public Turingtesttotell Computersand Humans Apart),意思是“全自动区分计算机和人类的图灵测试”。它的中文译名就是大家熟知的“验证码”。

★人人都是编辑★

发明了验证码的路易斯在享受了掌声和鲜花后冷静下来,为一件“小事”耿耿于怀:全世界的网民每天要输入验证码近2亿次,假设每次耗时10秒,那么每天大约要花费50万小时。如果能把这些时间利用起来,那将会产生多大的效益!

路易斯将目光投向了旧书摊。信息时代来临之际,很多旧书籍、报纸需要整理成电子版,但电脑扫描辨识时常常出错,因为这些旧资料常常不可避免地存在字迹模糊、褪色、污损的情况。唯一的方法是人工核对,但这显然不是一个人或一个公司可以胜任的。为什么不让网民帮忙?

路易斯扫描了一些过期的旧报纸,将扫描得到的图片在计算机的分析下拆开成单词片段,再将这些单词作为验证码发送给用户。

这里又出现了一个问题:先前的那些验证码,系统是知道答案的,但这些从书籍拆下来的单词,系统自己也搞不清楚答案,如何判断用户的结果是否正确?

路易斯用reCAPTCHA(二次验证码)解决了这个问题。二次验证码会让用户一次性辨识两个单词,其中一个是系统生成的真正的验证码,另外一个是从旧报纸上截下来的单词。如果用户输对了第一个验证码,那么输对第二个单词的几率也很高。

各种各样的验证码

为防止恶意捣乱、提高答案的可信度,路易斯还将同一个未知的单词输送给多个用户,如果所有用户辨识的结果一致,那么就认为这个单词被“搞定”了。

短短几个月内,路易斯便让网民们帮忙完成了《纽约时报》130年来所有旧报纸的电子存档。(据新浪科技)

猜你喜欢
雅虎公司字符串路易斯
更多的可能
路易斯·巴斯德:微生物学之父
Looking Forward/by Robert Louis Stevenson期待
基于文本挖掘的语词典研究
路易斯·威廉姆斯最佳第六人
一种新的基于对称性的字符串相似性处理算法
雅虎错失交换收益
一种针对Java中字符串的内存管理方案