文档章节

iOS传感器开发——为APP添加手机密码、指纹进行安全验证

珲少
 珲少
发布于 2015/12/10 16:38
字数 459
阅读 4571
收藏 101

iOS传感器开发——为APP添加手机密码、指纹进行安全验证

一、引言

        iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证。目前,开发者可以使用的安全验证方式有两种,一种是通过手机密码进行验证,一种是通过识别指纹进行验证。

二、为APP添加安全验证

要使用安全验证的相关api,我们需要引入如下头文件:

#import <LocalAuthentication/LocalAuthentication.h>

添加手机密码验证:

    //创建安全验证对象
    LAContext * con = [[LAContext alloc]init];
    NSError * error;
    //判断是否支持密码验证
    /**
    *LAPolicyDeviceOwnerAuthentication 手机密码的验证方式
    *LAPolicyDeviceOwnerAuthenticationWithBiometrics 指纹的验证方式
    */
    BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error];
    if (can) {
        [con evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"验证信息" reply:^(BOOL success, NSError * _Nullable error) {
            NSLog(@"%d,%@",success,error);
        }];
        
    }

canEvaluatePolicy是用来判断是否支持手机密码验证的,如果没有设置手机密码,会返回NO,如果启用了,会出现如下界面:

密码验证的提示信息,我们可以自定义设置。

进行指纹验证:

LAContext * con = [[LAContext alloc]init];
    NSError * error;
    BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
    NSLog(@"%d",can);
    if (can) {
        [con evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"验证指纹" reply:^(BOOL success, NSError * _Nullable error) {
            NSLog(@"%d,%@",success,error);
        }];
        
    }

回调中的success用来判断是否验证成功:

通过这些验证方式,可以使用户的数据更加安全,在做敏感操作时,可以确保是手机的持有者。

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

© 著作权归作者所有

共有 人打赏支持
珲少

珲少

粉丝 852
博文 384
码字总数 452377
作品 0
上海
iOS工程师
私信 提问
加载中

评论(6)

T
T_T-T_T
使用LAPolicyDeviceOwnerAuthenticationWithBiometrics这个属性的话,TOUCH ID 锁定之后不会弹出系统密码解锁页面,然而使用LAPolicyDeviceOwnerAuthentication这个的话会弹出系统密码解锁页面,但是点击“输入密码”也还是跳到系统密码解锁页面,却不能响应自定义事件。。我想实现当三次指纹错误或TOUCH ID 锁定之后自动弹出系统密码解锁页面,当点击“输入密码”能够响应自定义事件,就跟支付宝指纹支付功能一样,怎么办?
恶魔小猪
[10][10][10][11][9][18]
K6F
K6F
还是很有用的,可以更好的对敏感信息进行保护,在某些可以取代手势解锁了
r
renyi1986

引用来自“回去干活”的评论

这个只能本地验证,并没有什么用.
按理支付宝这样也没啥用,
回去干活
回去干活
这个只能本地验证,并没有什么用.
iOS传感器:App前后台切换后,获取敏感信息使用touch ID进行校验

今天咱们主要是说指纹识别传感器,在文章的最后也会顺带说一下距离传感器。 Touch ID是苹果公司的一种指纹识别技术。Touch ID不存储用户的任何指纹图像,只保存代表指纹的数字字符。iPhone ...

非典型技术宅
10/29
0
0
LocalAuthentication开发实践

在iPhone 5s加入Touch ID后,指纹识别的功能在App中逐渐受到青睐,特别是对于本地安全较高的应用(如带支付的App)指纹识别是必备的功能,它既能解决在验证过程中输入密码的繁琐过程,同时指...

杰嗒嗒的阿杰
07/27
0
0
苹果吐血,果粉发现11奇葩漏洞,还晒上网,现在大家都知道

  最近的苹果应该估计有点头疼,不仅新上市的iPhone 8销量遇冷,还在全球市场频频发生电池炸裂事件,就连一向稳定的iOS 11系统又被曝光了重大BUG!而且这一次的iOS BUG还颇为严重,不用密码...

手机数据恢复大师
2017/10/19
0
0
iOS-Security 苹果安全白皮书都讲了些啥?

2017.03.27 原文地址 使用Google 按段落翻译(上传文档的不太准),通读一遍后去掉设备或网络的超专业术语,也算是筛选掉对开发者意义不大的信息吧! 苹果设计的 iOS 平台向来是以安全为核心...

si1ence
10/24
0
0
深度解读iOS 12中的USB限制模式

         前言   苹果早在2018年7月iOS 11.4.1发布时,就引入了USB限制模式,用户在更新iOS 11.4.1之后,可以在“设置”中的“面容ID与密码”(或者“触控ID与密码”)选项里找到“U...

嘶吼RoarTalk
10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 哥们之间报恩的想法被上帝实现了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 小小编辑:推荐歌曲《消愁》 《消愁》- 毛不易 手机党少年们想听歌,请使劲儿戳(这里) @过遥 :周一的早上就应该用来补觉,太困了 周末不想...

小小编辑
16分钟前
13
3
MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
3
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
7
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
18
1
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部