为什么需要验证码来区别计算机和真人?它的原理是什么?
现在很多网站的注册和登录都需要使用验证码,他们的目的是用来区分计算机和真正的人。
验证码的直译就是全自动区分计算机和人类的图灵测试,图灵测试它其实在人工智能是一个非常著名的实验,它的原理是这样的,实验者,通过询问一台机器和一个人一些问题,是实验者无法分别他们两个的区别。
可是如果实验者无法区分他们两个的分别,验证码就是这个图灵测试的反向和变种,他的目的就是用来区分计算机和真正的人类,哪一个是什么。
这个东西的产物在出现之前,是因为当时在互联网并不发达的时候,垃圾邮件满天飞,有的人通过注册了大量的新型账号,发布大量的垃圾广告。
但是程序员现在的技术发现计算机的程序比较难,准确的去识别手写的东西,于是验证码应运而生。
它可以有效的避免暴力承受破产的威胁,在图形验证码的基础之上慢慢演化出了滑块验证码,图像验证码,智能验证码等新型的方式。
但是我们现在主要的验证码都是通过短信来发送,这样比较方便快捷,也大大的减少了大家去识别验证码的时间。
这样的方式可以在一定的程度上避免自己的账号被泄露,身份被电脑软件所伪造的情况。电脑程序因为他自己本身的局限性他们是无法去辨别验证码输入的背后是人类还是软件,但是随着技术的发展,他们的识别程度会越来越高,机器也会慢慢的具备识别和理解验证码的能力。所以我们为了干扰机器的识别能力,我们可以故意在里面增加一些图像噪点,这样可以在页面上的脚本来进行进一步辅助判断,用来进一步识别这是人类操作的行为还是机器操作的行为,可以大大的减少自己的账号被泄露的情况。
这就是验证码的本质,在当初互联网刚出现的时候接触的限制性导致他们无法准确的识别很多的图像问题。