原文标题:《手机那么多,为什么只有那几款可以刷脸支付?》
大家有多久没有用纸币支付了呢?
随着手机支付的普及,大家的支付方式也越来越多样化。
密码支付、指纹支付、面容支付,你用的是哪种支付方式呢?
大家有没有想过,所有的智能手机都能密码支付,绝大部分智能手机都能指纹支付,而支持面容支付的手机却屈指可数?
是面容支付难以实现吗?
并不是!
原因还得从这些支付方式的实现原理说起。且听文档君娓娓道来~
密码支付
密码支付作为电子支付最传统的方式,实现密码支付有两个阶段。(文档君这次只讲解咱们目前普遍使用的微信支付 / 支付宝支付的流程哈~)
(绑定)当你和银行双方同意绑定银行卡之后,你会设置支付密码,支付机构校验支付密码,校验通过后,服务器会返回一个 token 给客户端,从而这个 token 就会被保存在本地,以备后用。
Tips:token 是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 token,并将此 token 返回给客户端,以后客户端只需带上这个 token 前来请求数据即可,无需再次带上用户名和密码。
(支付)当你喝奶茶,扫码支付时,你需要在微信支付客户端输入支付密码,客户端验证密码正确。然后,客户端就携带 token 给微信支付机构服务器,服务器检验成功,就会向银行发起扣款申请。
指纹支付
与传统的密码支付不同,指纹支付的技术核心分为两大块:指纹识别技术与支付技术。
关于指纹识别技术,相关内容可以阅读咱们“走进生活”系列的另一篇文章电容?光学?超声波?手机指纹识别技术你了解吗?
和密码支付一样,实现指纹支付也有两步。
(开通)大家是否还记得,在开通支付宝或者微信指纹支付时,需要输入支付密码,这是为什么呢?
这是因为开通时,支付机构的服务器会校验支付密码,服务器校验通过后,返回一个 token 给客户端。客户端会调用手机的硬件设备校验指纹,指纹通过后,token 被保存到本地。
(支付)在指纹支付过程中,客户端会要求手机会先校验用户指纹是否正确,如果正确,通过支付接口,将本地保存的 token 上传到服务器,服务器校验成功后,就会向银行发起扣款申请。
不难看出,相较于密码支付,指纹支付就是通过原先的密码和 token 建立直接联系,从而指纹可以直接触发 token 上传至服务器。
面容支付
和指纹支付类似,面容支付的技术核心也分为两大块:面容识别技术与支付技术。
面容支付中使用的识别技术大有学问,为了区分照片(2D)和真实人脸(3D),目前用在面容支付上的技术为 3D 结构光技术,他可以毫秒内获取人脸成千上万个关键位点的 3D 信息,用以判断是否本人,识别精准度能达到 99.99%。
实现 3D 结构光,需要至少两个设备 —— 发射装置和采集装置。
发射装置:发射近红外激光,将具有一定结构特征的光线透着到被拍摄物体上。
采集装置:专门的红外摄像头进行光线采集。这种一定结构的光线,会由于被摄物体的不同深度区域从而采集到不同的相位信息,再通过运算单元将这种结构变化换算为深度信息,获得被摄物体的三维结构。
两个装置意味着需要占用更大的硬件空间,不信你看 iphone(支持面容支付)的刘海屏是不是比其他品牌商(支持指纹支付)的挖孔屏要大太多?
回到支付过程,这就和指纹有些类似了。
(开通)在开通时,支付机构会要求输入支付密码,进行校验。服务器校验通过后,返回一个 token 给客户端,客户端调用硬件设备校验面容,面容通过后保存 token 到本地。
(支付)在指纹支付过程中,客户端会要求手机会先校验用户面容是否匹配,如果正确,通过支付接口,将本地保存的 token 上传到服务器,服务器校验成功后,就会向银行发起扣款申请。
结 论
当然,实现面容支付远比文档君现在描述的要复杂,在之后的文章中我们会进一步解密手机面容支付!
不过,现在不难看出,在支付技术上,三者区别不大,关键在于识别技术:
密码支付:无需额外的识别设备。
指纹支付:需要指纹识别技术,内嵌于屏幕中,无硬件负担。
面容支付:需要面容识别技术,增设识别设备,前置摄像头部分硬件布局扩大。
诶~ 这时就需要你做出取舍了。
是需要极致全面屏的观看体验?还是需要面容支付的便利性?
原来并不是面容支付更难实现,而是面容支付在硬件上需要占用更大的屏幕空间。在如今追求全面屏的时代,优势有些局限。这就是为什么市场上的手机那么多,却只有几款手机支持刷脸支付。
不过,随着屏下摄像技术的发展,有一天,我们是否能够实现屏下面容支付?
让我们一起期待一下吧~
本文来自微信公众号:中兴文档 (ID:ztedoc)