支付宝指纹解锁流程分析以及代码实现

本文探讨了支付宝指纹解锁的流程,详细介绍了利用LocalAuthentication.framework进行指纹识别的原理,并展示了核心代码实现。在分析中指出,如果TouchID验证失败多次,系统将自动转向密码输入。同时,当添加新指纹时,支付宝在支付环节会检测这一变化,要求手动输入支付密码,以确保安全。文章还提出了在检测到新增指纹时切换至账号密码登录的实现可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经常使用支付宝的的指纹登录,既安全,又方便。抽空就结合着指纹的相关知识,理了一下这个流程。

在梳理支付宝指纹流程之前,先熟悉一下关于指纹解锁的知识。

指纹解锁的相关类位于 LocalAuthentication.framework 。这个库内容比较少,所以不是很复杂。主要方法如下


判断 TouchID 或者手机密码是否可用


- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error __attribute__((swift_error(none)));

其中:LAPolicy 是个枚举 :

LAPolicyDeviceOwnerAuthenticationWithBiometrics

指纹验证,三次验证不成功 就会自动取消验证

注:这个时候可以再次被调起,但如果依然验证不通过,TouchID则会被锁定。

LAPolicyDeviceOwnerAuthentication

两次指纹匹配不成功,会自动弹出输入密码界面。

注:当上面的TouchID多次不匹配,被锁定,无法调起的时候,我们可以调这个,会直接弹出输入密码的界面。

Error 里包含的是错误码。通过error.code获取。

我们常用的,也是比较重要的,有这两个code。(其他的具体可以参考 LAError 类)

LAErrorAuthenticationFailed   -1

LAErrorTouchIDLockout
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值