指纹验证

#import <LocalAuthentication/LocalAuthentication.h>

- (IBAction)authenticateButtonTapped:(id)sender {

LAContext *context = [[LAContext alloc] init];

context.localizedFallbackTitle = @"输入密码";

NSError *error = nil;

if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics

localizedReason:@"您是这设备的所有者吗?"

reply:^(BOOL success, NSError *error) {

if (success) {

dispatch_async (dispatch_get_main_queue(), ^{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success"

message:@"你是设备主人。"

delegate:nil

cancelButtonTitle:@"Ok"

otherButtonTitles:nil];

[alert show];

});

}else{

/*

// 用户未提供有效证书,(3次机会失败 --身份验证失败)。

LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,

// 认证被取消,(用户点击取消按钮)。

LAErrorUserCancel           = kLAErrorUserCancel,

// 认证被取消,用户点击回退按钮(输入密码)。

LAErrorUserFallback         = kLAErrorUserFallback,

// 身份验证被系统取消,(比如另一个应用程序去前台)。

LAErrorSystemCancel         = kLAErrorSystemCancel,

// 身份验证无法启动,因为密码在设备上没有设置。

LAErrorPasscodeNotSet       = kLAErrorPasscodeNotSet,

// 身份验证无法启动,因为触摸ID在设备上不可用。

LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable,

// 身份验证无法启动,因为没有登记的手指触摸ID。 没有设置指纹密码时。

LAErrorTouchIDNotEnrolled   = kLAErrorTouchIDNotEnrolled,

**/

switch (error.code) {

case LAErrorAuthenticationFailed:

NSLog(@"身份验证失败。");

break;

case LAErrorUserCancel:

NSLog(@"用户点击取消按钮。");

break;

case LAErrorUserFallback:

NSLog(@"用户点击输入密码。");

break;

case LAErrorSystemCancel:

NSLog(@"另一个应用程序去前台");

break;

case LAErrorPasscodeNotSet:

NSLog(@"密码在设备上没有设置");

break;

case LAErrorTouchIDNotAvailable:

NSLog(@"触摸ID在设备上不可用");

break;

case LAErrorTouchIDNotEnrolled:

NSLog(@"没有登记的手指触摸ID。");

break;

default:

NSLog(@"Touch ID没配置");

break;

}

}

}];

} else {

dispatch_async (dispatch_get_main_queue(), ^{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"错误提示"

message:@"您的设备没有触摸ID."

delegate:nil

cancelButtonTitle:@"Ok"

otherButtonTitles:nil];

[alert show];

});

}

}

时间: 2024-08-02 10:18:11

指纹验证的相关文章

MD5指纹(文件指纹验证)

当你从网络上下载了软件后,想确保此软件没有被人修改过(如添加了木马/病毒/非官方插件),或在下载中被破坏,可以用文件指纹验证(MD5)技术进行确认. 原理: 通过某种算法,对具体的文件进行校验,得出了一个32位的十六进制数(校验和).待校验文件的文件名和后缀名都可以更改,不影响校核.由于原来的信息只要有稍许改动,通过md5运算后,结果都会有很大的改变.所以,如果再次校验以后所得到的值(md5代码)和此软件发布站或官方网站公布的值不同,就可以认为,文件已被改动过.

关于iOS 3D touch 指纹验证的随笔

file:///Users/OWen/Desktop/3DTouch.png 随着iOS系统不断的更新迭代,苹果总会推出一些新的功能,今天就研究了一下iOS8之后推出的指纹验证的功能,然后写了一个小demo,与君分享.. 上demo:   1:首先导入一个系统的库文件      #import <LocalAuthentication/LocalAuthentication.h> 2: LAContext *mycontent = [[LAContext alloc] init]; NSStr

指纹验证完整版处理小结

在ios中指纹的使用相对比较简单,但是在使用的过程中遇到以下几个问题,故对指纹使用进行简单封装,以处理这些问题,问题如下: 1.ios 9之后系统指纹被锁,系统不会主动弹出密码解锁的页面 2.ios 10.*系统不区分指纹未录入和密码未设置的情况 处理逻辑如下: 处理部分代码如下: ----------------------------.h文件 /* 1.处理iOS 9.0之后,指纹被锁不会自动弹出密码解锁的情况: 2.处理iOS 10.*系统不区分未录入指纹和未设置密码的情况: */ #im

微信小程序 使用HMACSHA1和md5为登陆注册报文添加指纹验证签名

对接口请求报文作指纹验证签名相信在开发中经常碰到, 这次在与java后端一起开发小程序时,就碰到需求对登陆注册请求报文添加指纹验证签名来防止信息被修改 先来看下我们与后端定制签名规则 2.4. 签名规则 原文规则:采用标准的JSON格式,null值字段舍去,按照key值字符串升序排列 例如:{"appId":"1100310061380986","outTradeNo":"1515120685073","timest

cordova 指纹验证登录

关键词:指纹验证登录 需求:在APP上实现指纹验证登录 指纹验证登录,顾名思义,基于手机系统提供的指纹认证API,实现方便用户登录的功能. 实现流程: 1:初始化 -- 获取手机指纹识别支持情况(传感器支持,API支持,用户设置支持等) 2:用户凭证登录(通常是用户名+密码)成功,调取系统指纹验证,验证通过,本地存储用户凭证: 3:登录画面调用系统指纹验证,验证通过,使用本地存储的用户凭证执行登录. 对手机指纹验证的个人理解是:指纹认证通过的用户,对手机而言是可信用户:而对我们的系统而言,拥有合

iOS 之(个人隐私钱包调用系统TouchID指纹锁验证)

// //  ViewController.m //  TouchID指纹验证 // //  Created by apple on 16/9/18. //  Copyright © 2016年 apple. All rights reserved. // #import "ViewController.h" #import "HomeViewController.h"//跳转成功后需要跳转到的视图控制器 #import <LocalAuthenticatio

用于身份验证的生物识别技术指纹识别相关情况解析方案

众多的用于身份验证的生物识别技术中,指纹识别技术是目前最方便.可靠.非侵害和价格便宜的解决方案. 指纹是人体独一无二的特征,具有随身性.唯一性.不可复制性.绝对保密性,并且它们的复杂度足以提供用于鉴别的足够特征;如果我们想要增加可靠性,我们只需登记更多的指纹,鉴别更多的手指.爱迪尔研制的指纹模块性能卓越,扫描指纹的速度很快,使用非常方便;读取指纹时,用户只需将活体手指与指纹采集头相互接触,与指纹采集头直接接触是读取人体生物特征最可靠的方法. 二.门禁锁具 在日常生活中,人们无处不在的必须使用各种

iOS 添加手机密码、指纹进行安全验证

为APP添加安全验证 1.导入头文件 #import <LocalAuthentication/LocalAuthentication.h> 2.添加手机密码验证 //创建安全验证对象 LAContext *con = [[LAContext alloc] init]; NSError *error; //判断是否支持密码验证 /** * LAPolicyDeviceOwnerAuthentication 手机密码的验证正方式 * LAPolicyDeviceOwnerAuthenticati

指纹识别技术需要遵循的2点原则

手机指纹识别技术应该遵循的2点原则: 第一,指纹扫描必须只基于硬件,不可通过软件激活,或是将指纹信息传送给软件.如果该装置能够被软件激活,则无法避免被恶意代码攻击的风险.而基于硬件的实现仅会通知软件"指纹验证通过"或"指纹验证失败",但不会与软件分享任何指纹相关的数据与信息. 第二,在本地存储的指纹信息,其存储位置必须非常安全,这个位置必须禁止软件的访问,否则黑客会通过破解软件的方式来获取指纹信息.Shuman Ghosemajumder提到的2点原则应该成为所有指