指纹识别

现在,在要求安全与效率兼得的时候,普通密码已不能满足我们的要求,指纹识别就这样诞生了。

每个人都有自己专属的指纹,在需要支付等输入密码的地方,我们只需轻轻一按即可,避免了输入密码的繁琐步骤,更加安全,而且妈妈再也不用担心我们忘记密码。

好了,不闲扯了,开始正题。

其实,听着高大上,实现起来特别简单,因为苹果已经帮我们封装好了,我们只需要简单的调用就好了。

1、首先,我们需要导入头文件:

#import <LocalAuthentication/LocalAuthentication.h>

2、接着,我们需要判断我们的设备是否支持指纹识别(iPhone5s+,iOS8.0+)

接下来,判断当前用户是否是机主即可,完事,是不是so easy啊。

 1 - (IBAction)biologyAction:(id)sender {
 2
 3     LAContext *context = [[LAContext alloc] init];
 4     NSError *error = nil;
 5     NSString *reason = @"我们需要验证您的指纹来确认您的身份";
 6
 7     // 判断设置是否支持指纹识别(iPhone5s+、iOS8+支持)
 8     if([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]){
 9
10         // 指纹识别只判断当前用户是否是机主
11         [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:reason reply:^(BOOL success, NSError * _Nullable error) {
12             if(success){
13                 NSLog(@"指纹认证成功");
14             }
15             else{
16                 NSLog(@"指纹认证失败");
17                 NSLog(@"错误码:%zd",error.code);
18                 NSLog(@"出错信息:%@",error);
19                 // 错误码 error.code
20                 // -1: 连续三次指纹识别错误
21                 // -2: 在TouchID对话框中点击了取消按钮
22                 // -3: 在TouchID对话框中点击了输入密码按钮
23                 // -4: TouchID对话框被系统取消,例如按下Home或者电源键
24                 // -8: 连续五次指纹识别错误,TouchID功能被锁定,下一次需要输入系统密码
25             }
26         }];
27     }
28     else{
29         NSLog(@"TouchID设备不可用");
30         NSLog(@"错误码:%zd",error.code);
31         NSLog(@"出错信息:%@",error);
32     }
33 }

下面贴出Swift3.0版对应的代码,原理就不说了,和上面的一样,只是将OC代码翻译成了Swift3.0版而已。

 1 import UIKit
 2 import LocalAuthentication
 3
 4 class ViewController: UIViewController {
 5
 6     override func viewDidLoad() {
 7         super.viewDidLoad()
 8     }
 9
10     @IBAction func yanzhengAction(_ sender: AnyObject) {
11
12         let context = LAContext()
13         let reason = "我们需要您的指纹来验证您的身份"
14         var error:NSError?
15
16         if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error:&error){
17             context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (isSuc, error) in
18                 if isSuc{
19                     print("指纹验证成功")
20                 }
21                 else{
22                     print("指纹验证失败")
23                     print("错误信息:\(error)")
24                     // 错误码 error.code
25                     // -1: 连续三次指纹识别错误
26                     // -2: 在TouchID对话框中点击了取消按钮
27                     // -3: 在TouchID对话框中点击了输入密码按钮
28                     // -4: TouchID对话框被系统取消,例如按下Home或者电源键
29                     // -8: 连续五次指纹识别错误,TouchID功能被锁定,下一次需要输入系统密码
30                 }
31             })
32         }
33         else{
34             print("TouchID设置不支持")
35             print("错误码:\(error!.code)")
36             print("错误信息:\(error)")
37         }
38     }
39 }
时间: 2024-12-15 01:51:40

指纹识别的相关文章

whatweb网站指纹识别工具

WhatWeb是一款网站指纹识别工具,主要针对的问题是:"这个网站使用的什么技术?"WhatWeb可以告诉你网站搭建使用的程序,包括何种CMS系统.什么博客系统.Javascript库.web服务器.内嵌设备等.WhatWeb有超过900个插件,并且可以识别版本号.email地址.账号.web框架.SQL错误等等.特性* 超过900个插件* 高效.迅速.低碳* 插件包括应用实例URL* 多种日志格式:XML,JSON,MagicTree, RubyObject, MongoDB* 优质

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

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

Web指纹识别之Discuz识别+粗略版本判断

这个识别程序是本学期我的专业实训上的一个项目,就是做一个类似于Zoomeye的东西,然后使用ES进行整合,从而做出搜索引擎的模样.那么首先就要有能力去网上识别出相应的Web组件,如用户输入关键词:Discuz X3.0,我就要显示出相应版本的内容才OK.作为识别子程序,我这里暂且分享一下识别Web组件的思路. 我是从浅谈web指纹识别技术一文中找到的思路.对于Discuz的网站,第一时间想的就是识别footer了,但是问题在于,做的好的一些网站往往会将"Powered By"字样修改,

工控系统的指纹识别技术

转载:灯塔实验室 当前,指纹识别技术已被或坏或好的广泛应用于ICT(信息和通信技术)系统.攻击者通过扫描网络获取设备指纹来关联漏洞入侵系统,安全防护者则利用设备指纹来发现系统的脆弱性,检测系统的网络异常.在工业控制系统(ICS)中,指纹识别技术亦用于发现ICS系统脆弱性,检测攻击行为等方向.本文主要关注工控安全领域指纹识别技术. 指纹识别是什么 在ICT领域里,指纹识别是利用不同信息描述运行于网络中的设备或者软件的一种技术.我们了解最多的是设备指纹,被用来远程识别设备的硬件,操作系统,运行软件(

三星指纹识别新专利:手势打开不同应用

Note7夭折之后,三星S8就被外界扣上了"救世主"的帽子.从以往的爆料中,我们也看到了三星S8将拥有的一些黑科技,比如拍照方面的双摄像头,以及识别方面的光学指纹识别等等.如今,三星再一次不吭不响的公布了一项新专利,专长也在指纹识别方面,但主要的特性在于交互功能,可能会被其未来的手机采用. 专利图 三星的这项专利显示,用户只要将手指放在正面的指纹识别传感器上,解锁手机进行诸如滑动这样的手势操作便能开启应用.当然,随着滑动方向的不同,开启的应用也会不一样. 专利图 在指纹识别上集成手势操

ios开发-指纹识别

最近我们使用支付宝怎么软件的时候,发现可以使用指纹了,看起来是否的高大上.当时苹果推出了相关接口,让程序写起来很简单哈. 在iPhone5s的时候,苹果推出了指纹解锁.但是在ios8.0的时候苹果才推出相关的接口 所有我们需要判断硬件设备和ios系统版本是否支持 下面的例子是,先提示指纹识别,如果不支持或者主动取消,则需要手动输入密码认证 所以我们第一步需要判定系统版本,如果不支持,我们直接返回,即可 1 if ([UIDevice currentDevice].systemVersion.fl

深夜闲聊节目:华为 Mate7的指纹识别安全么?

许久没有写过任何东西,最近很忙而且还要准备找工作之类的,唉... ....今天的文章也不说技术,只是闲聊. 一.手机指纹识别一揽 打开很多网站.论坛的科技栏目,充斥着各种手机讯息!仿佛手机已经成了科技的代名词.更凶残的是,今年科技界,哦不,手机界永远少不了各种新闻:先是Zealer 和锤子的骂战,再是魅族攒了一年的新闻一起发,紧接着联想.HTC.Moto 不断放大招,最后是苹果的亮相.水货价格更是闪瞎我等屌丝的氪金狗眼 ... ... 手机/科技界的故事还远远没有尽头! 但是,但是... ...

指纹识别认证

首先截取一段百度关于指纹的定义: FRR与FAR FRR(False Rejection Rate)和FAR(False Acceptance Rate)是用来评估指纹识别算法性能的两个主要参数.FRR和FAR有时被用来评价一个指纹识别系统的性能,其实这并不贴切.指纹识别系统的性能除了受指纹算法的影响外,指纹采集设备的性能对FRR和FAR的影响也是不能忽视的. FRR通俗叫法是拒真率的意思,标准称谓是FNMR(False Non-Match Rate 不匹配率).可以通俗的理解为“把应该相互匹配

iOS8指纹识别TouchID

苹果在2014年6月3日的WWDC2014开幕式上推出了新版iOS8系统,界面上iOS8与iOS7相比变化不大,只是在功能方面进行了完好.iOS8通知中心更加强大,支持消息直接回复操作,并支持QuickType和第三方输入法.短信功能改进明显,支持群聊.发送语音.视频,分享地理位置等.从终端用户的角度看.iOS8的很多新功能早已出如今其它平台中.iOS8会向第三方软件开放TouchID訪问,这意味着能够使用该感应器登陆银行应用等. 第三方应用能够使用TouchID接口,意味着未来的非常多应用都能

指纹识别用法

{ 指纹识别功能是 iphone 5S之后推出的.SDK是 iOS 8.0 推出! 推出指纹识别功能的目的,是为了简化移动支付环节,占领移动支付市场. 使用步骤: { 1> 导入框架; #import <LocalAuthentication/LocalAuthentication.h> 2> 指纹识别的实现: { 1. 需要判断手机系统版本是否是 iOS 8.0 以上的版本.只有 iOS 8.0 以上才支持. // 获得当前系统版本号 float version = [UIDev