現(xiàn)在的驗(yàn)證碼多種多樣,包括文字、字母、圖案和問題等,有的相當(dāng)復(fù)雜,讓人看了忍不住發(fā)牢騷:萬惡的驗(yàn)證碼!
雖然驗(yàn)證碼讓一些人恨之入骨,但是沒了它,我們可能會(huì)被黑客攻擊哦。
當(dāng)驗(yàn)證碼尚未出現(xiàn)時(shí),黑客就相當(dāng)猖狂。他們編寫了一種能重復(fù)編寫信息的程序,偽裝成人類用戶,肆無忌憚地朝網(wǎng)上傳遞大量無意義的“僵尸”信息,導(dǎo)致垃圾郵件、垃圾廣告、垃圾評(píng)論到處都是,論壇被灌水,有用的信息被淹沒,很多網(wǎng)站無法正常運(yùn)營(yíng)。
另外,還有數(shù)不盡的程序機(jī)器人不斷嘗試破解密碼、惡意刷票,從中非法謀利。
其中受影響最大的是電子郵件提供商。他們的用戶每天收到數(shù)以百計(jì)的垃圾郵件,嚴(yán)重影響了正常工作,更要命的是,這些垃圾郵件都是他們的免費(fèi)郵箱發(fā)出的。
有什么方法可以約束程序機(jī)器人呢?
當(dāng)時(shí)最有實(shí)力的郵件提供商雅虎公司決定下狠勁改善這個(gè)問題。公司的負(fù)責(zé)人聯(lián)系了卡內(nèi)基梅隆大學(xué)的學(xué)生路易斯·馮·安。
路易斯這個(gè)計(jì)算機(jī)天才認(rèn)真研究了程序機(jī)器人的“工作手法”后,給出了一個(gè)獨(dú)特的方案:在用戶進(jìn)行操作前,將試圖偽裝成人類的那些機(jī)器人鑒定出來并揪出來。
如何將人類和機(jī)器人區(qū)別開來?或者說,有什么是人類能夠輕易做到,而機(jī)器做不到的呢?
數(shù)學(xué)題?機(jī)器做得比人類出色多了;寫一篇洋洋灑灑的保證書保證“我是人類”?機(jī)器絕對(duì)寫得又快又好;畫一幅畫?拜托,誰有空每次在論壇發(fā)一次帖就畫一幅畫?而且說真的,機(jī)器畫畫也絕對(duì)比人類強(qiáng)……
路易斯發(fā)現(xiàn),對(duì)于鑲嵌在圖片中、被扭曲過、污染過的文字,人類可以用肉眼輕易地識(shí)別出來,而機(jī)器不能。他在導(dǎo)師曼紐爾·布魯姆的幫助下很快設(shè)計(jì)了一個(gè)程序,這個(gè)程序先會(huì)產(chǎn)生一個(gè)隨機(jī)的字符串,如smwm,然后對(duì)這串字符進(jìn)行隨機(jī)的扭曲、重疊、污染,再顯示給要進(jìn)行操作的用戶。只要能識(shí)別變形了的字符串,就是人類。
這個(gè)設(shè)計(jì)方案后來被命名為“CAPTCHA”,意思是全自動(dòng)區(qū)分計(jì)算機(jī)和人類的圖靈測(cè)試,中文譯名就是驗(yàn)證碼。(節(jié)選自蝌蚪五線譜)