热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

验证码的前世今生

上图中不同类型的验证码,想必大家已经非常熟悉了(甚至可以说是深受其“害”),无论是注册账号、登录问题、重置密码、确认交易等等,它们都会不请自来。而在实际的应用中,验证码到底充当着怎样角色

上图中不同类型的验证码,想必大家已经非常熟悉了(甚至可以说是深受其“害”),无论是注册账号、登录问题、重置密码、确认交易等等,它们都会不请自来。而在实际的应用中,验证码到底充当着怎样角色?

什么是验证码

了解“验证码”,自然要从它的诞生谈起。作为验证码程序的提出者,路易斯·冯·安(Luis von Ahn)和他的小伙伴在卡内基梅隆第一次提出了CAPTCHA(验证码)这样一个程序概念。该程序指出,在请求发起方提出问题,能正确回答的即是人类,反之则为机器。程序主要基于这样一个重要假设:提出的问题要容易被人类解答,并且让机器无法解答。

在验证码诞生初期,识别变形、扭曲的图形,对于机器而言还比较困难。但对人们来说,相对还可以接受。因此,yahoo第一个应用了图形化验证码,很快解决了yahoo邮箱上垃圾邮件问题,因此图形类验证码得到快速发展。

验证码的种类

随着计算机自动识别技术的发展,简单的验证码数字图形也不再安全,很容易被黑客攻破,因此在与黑产对抗的过程中,验证码的形态、方式也发生了很大变化。以下为大家介绍几种常见的验证码形态:

①随机数字或字母图片,这是最原始也是最简单的验证码

GIF格式的随机数字或者字母图片,这可以说是静态图片的升级


随机数字+随机大写英文字母+随机干扰像素+随机位置BMP格式图片


④广告验证码,输入广告中的高亮部分的内容即可


⑤问题验证码,主要是以问答式的形式来进行填写


⑥行为方式验证码,主要分为拖动式和点触式


拖动式


点触式

⑦手机短信验证码,通过发送验证码到手机实现验证识别


⑧手机语音验证码,点击“获取语音验证码”,通过语音电话直接呼到用户手机


从验证码形态、方式的发展过程来看,主要为了安全性。但事实上,无解的验证码还不存在,攻与防技术都是在对抗中不断升级的。好的方面在于,防的一方可以不断提升破解成本。

验证码的用途

验证码的用途大家非常清楚,有些验证码连人都分不清楚,甚至有网友吐槽,这种反人类的设计,一定不是防止机器,毕竟人都很难区分正确的选项,使得人机交互体验大大降低。

实际上,验证码能够有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试。虽然登录麻烦一点,但是对网友的密码安全而言该功能还是很有必要,也很重要。

目前,不少网站采用验证码技术,主要是为了防止用户利用机器人自动注册、登录、灌水、刷票、破解密码等。同样,前文提到的yahoo利用验证码,也主要是为了解决邮箱上垃圾邮件的问题。

验证码存在的风险

当然,验证码在为用户提供提供安全的同时,也有可能成为不法分子获利的“帮凶”。如银行卡、信用卡等盗刷事件时有发生,主要是不法分子通过发送虚假信息,诱骗受害者点击木马链接或钓鱼网站。

一旦受害者点击木马链接后,不法分子则可以获取手机内全部信息并拦截手机收到的任何短信,进而获取用户个人信息、账号、密码等等,以实现盗取受害人钱财的目的。

此外,还有另外一种形式相对隐晦,不易被用户察觉,尤其是老年用户。手机APP会去尝试获取用户短信息内容的权限,Android手机尤甚。有时用户不经意间的授权,可能会对个人财产安全带来风险。

因此,可以说验证码是一把双刃剑,如果用户足够谨慎,确实能帮助用户保护个人隐私及财产安全,但如若使用不当,则有可能带来非常大的安全隐患。

更便捷的登录体验

既然使用验证码会存在风险且带来应用上的诸多不便,是不是存在一种全新的技术,不再依赖验证码,且用户登录又非常顺畅的实现?

BOOM!更便利的登录体验来了,移动认证,了解一下……

一键登录是移动认证旗下的移动认证,面向APP推出的一项功能,

只要你使用的APP已经接入一键登录功能。

那么你在使用过程中不用输入账号密码就能秒注册,

校验也无需收短信验证码,一键就能直接登录,

省去了账号密码的环节,黑客也就无从下手啦!

移动认证的一键登录能力,其免费开放SDK大大降低了登录程序的开发成本。在应用集成后,用户只需一键授权即能通过运营商独有的网关认证来校验用户号码可用性,尽情享受一键登录的快捷体验。

无需注册,无需密码,一键即可授权,注册登录非常便捷,整个过程中不存在账号密码泄露的问题,安全性也有所提升。由于是以手机号码为账号,因此所有手机号码都是应用的潜在用户,再加上注册/登录门槛大幅降低,让企业拉新促活更容易。

在后续的用户运营,认证登录成功后即返回登录本机号码,降低运营成本的同时帮助App建立用户与本机号码一对一的账号体系,精准可靠。

目前,移动认证已经携手多家企业,如爱奇艺、猎豹清理大师、同花顺炒股票、快看漫画、魔秀桌面、一点资讯、芒果TV、熊猫TV、小米等等,都实现了手机号码一键登录,降低注册和登录门槛,提高用户体验和留存率。


接入流程了解一下

未来,将有更多的APP实现这一功能,登录体验快到起飞,这不再是一句空话。移动一键登录,你值得拥有。点击官网,了解更多


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 微软小娜企业版发布新版本,提供构建自定义技能的套件
    微软将向企业级市场发布微软小娜企业版的新版本,该版本提供了构建自定义技能的套件,使企业员工可以更方便地使用数字助理。目前该套件仍处于内测期间,只有部分企业可以获得,其他有兴趣的企业需要继续等待。新版本的套件可以帮助员工构建各种自定义技能,如检查休假余额、创建服务凭证等。微软通过让多个开发人员编辑和管理机器人通道注册配置来改善开发者的体验,团队可以自行访问和更改技能注册,满足企业实际需求。微软小娜企业版已经在各个行业得到采用,能够帮助员工专注于优先事项,将非优先处理的任务交给微软小娜处理。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 模块化区块链生态系统的优势概述及其应用案例
    本文介绍了相较于单体区块链,模块化区块链生态系统的优势,并以Celestia、Dymension和Fuel等模块化区块链项目为例,探讨了它们解决可扩展性和部署问题的方案。模块化区块链架构提高了区块链的可扩展性和吞吐量,并提供了跨链互操作性和主权可扩展性。开发人员可以根据需要选择执行环境,并获得奖学金支持。该文对模块化区块链的应用案例进行了介绍,展示了其在区块链领域的潜力和前景。 ... [详细]
  • Python15行代码实现免费发送手机短信,推送消息「建议收藏」
    Python15行代码实现免费发 ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • 周鸿祎火力全开
    “在这个IoT时代,只是孤立地搞大数据,孤立地搞云,或谈AI,或做一个智能硬件,我觉得都是不完备的,必须将这几项技术综合运用起来,才是一个真正的IoT时代,也是IoT真正的春天。” ... [详细]
  • 【Python 爬虫】破解按照顺序点击验证码(非自动化浏览器)
    #请求到验证码base64编码json_img_datajson_raw.get(Vimage)#获取到验证码编码 #保存验证码图片到本地defbase64_to_img(bstr ... [详细]
author-avatar
HelloMsLin你好_林小姐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有