iOS 钥匙串 指纹识别 get和Post请求的区别
01-钥匙串
1. 通过系统提供的钥匙串功能可以在本地保存密码,系统使用AES的方式对密码加密 a. 查看Safari中保存的密码
2. 使用第三方框架SSKeychain把密码保存到钥匙串和获取钥匙串中的密码 a. 获取钥匙串中的所有用户
[SSKeychain allAccounts]
b. 把密码保存到钥匙串中 service可以用boundleID
[SSKeychain setPassword:self.pwdView.text forService:kPWDCHAINKEY account:self.nameView.text]; c. 从钥匙串中获取密码
self.pwdView.text = [SSKeychain passwordForService:kPWDCHAINKEY account:self.nameView.text];
02-指纹识别
1. 指纹识别
a. iPhone5s推出指纹识别,touchID b. iOS8中开放了指纹识别的sdk
2. 指纹识别的使用
- 导入头文件
#import <LocalAuthentication/LocalAuthentication.h> - 判断设备是否支持指纹识别
LAContext *ctx = [[LAContext alloc] init];
//判断是否支持指纹识别
if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
NSLog(@"支持");
//指纹识别
[ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹验证" reply: ^(BOOL success, NSError *error) {
NSLog(@" == %d===%@",success,error); if (success) {
//指纹验证成功后,请求服务器支付或登录 }
}]; }else{
NSLog(@"不支持"); }
3. 只有iOS8以后才有指纹识别的api //判断设备是否是iOS8的系统
if ([UIDevice currentDevice].systemVersion.floatValue < 8) {
return; }
4. 指纹识别的错误
//指纹无法识别
LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed, //用户点了取消按钮
LAErrorUserCancel //用户点击了输入密码按钮
LAErrorUserFallback //系统取消,激活了其他应用
= kLAErrorUserCancel, = kLAErrorUserFallback,
LAErrorSystemCancel //验证无法启动,设备上没有设置密码
= kLAErrorSystemCancel,
LAErrorPasscodeNotSet = kLAErrorPasscodeNotSet, //验证无法启动,设备上没有Touch ID
LAErrorTouchIDNotAvailable = kLAErrorTouchIDNotAvailable, //验证无法启动,没有输入指纹
LAErrorTouchIDNotEnrolled = kLAErrorTouchIDNotEnrolled,
03. GET和POST对比
a. GET
i. GET一般是获取服务器上的数据
ii. GET方式是通过url传递数据,效率高 iii. 请求的数据在URL上,不安全
1) login.php?username=zs&pwd=123456
2) 参数中如果有中文和特殊符号(? = &等)应该进行url编码 iv. GET请求的结果能够被浏览器缓存
b. POST
i. POST一般是往服务器提交数据,并获取服务器返回的结果
ii. POST方式是通过请求体传输数据,效率低 iii. 请求的数据用户看不到,相对安全
iv. POST请求不能被浏览器缓存
iOS 钥匙串 指纹识别 get和Post请求的区别的更多相关文章
- iOS - TouchID 指纹识别
前言 NS_CLASS_AVAILABLE(10_10, 8_0) @interface LAContext : NSObject 指纹识别功能是 iPhone 5s 推出的,SDK 是 iOS 8. ...
- ios开发-指纹识别
最近我们使用支付宝怎么软件的时候,发现可以使用指纹了,看起来是否的高大上.当时苹果推出了相关接口,让程序写起来很简单哈. 在iPhone5s的时候,苹果推出了指纹解锁.但是在ios8.0的时候苹果才推 ...
- 如何使用iOS 8 指纹识别,代码、示例
像想象,iOS 8指纹是非常容易使用的.只是需要能够获得一个接口,弹出屏幕模式框,随着app store在相同的. 直接上的条形码.以下代码是从复制Apple官方文件. 加入LocalAuthenti ...
- iOS开发——基础篇——get和post请求的区别
HTTP 定义了与服务器交互的不同方法,最常用的有4种,Get.Post.Put.Delete,如果我换一下顺序就好记了,Put(增),Delete(删),Post(改),Get(查),即增删改查,下 ...
- iOS指纹识别Touch ID的安全性探讨
苹果公司在 iPhone 5s 的发布会上公布了全新的指纹识别安全技术,也就是 Touch ID,开创了生物安全识别技术在便携设备上使用的新篇章.此后,苹果还将此技术带到了 iPad 上.此前没有任何 ...
- IOS指纹识别调用
最近正在开发的一个app需要加入指纹识别的功能,先搜索一下找到官方文档,简单易懂: https://developer.apple.com/library/ios/documentation/Loca ...
- 指纹识别人脸识别 iOS
//1.判断iOS8及以后的版本 if([UIDevice currentDevice].systemVersion.doubleValue >= 8.0){ //从iPhone5S开始,出现指 ...
- iOS开发——Touch ID 指纹识别
项目中为了安全性,一般使用密码或iPhone手机的指纹识别Touch ID. 第一步,判断系统是否支持,iOS8.0及以上才支持. 第二步,判断手机是否支持,带Touch ID的手机iPhone5s及 ...
- iOS指纹识别
#import "ViewController.h" #import <LocalAuthentication/LocalAuthentication.h> @inte ...
随机推荐
- ios swift 2 新的OptionSetType使用方法
http://www.rockhoppertech.com/blog/swift-2-optionsettype/?utm_source=tuicool 主要使用方法如下 components([NS ...
- swfit中的同步锁
swfit 中 objective-c 中的@syncronized 这个东西不能用了,应该用 objc_sync_enter(self) 代码 objc_sync_exit(self) 代替!
- 使用eclipse开发的兼容性配置
通常使用eclipse开发程序的时候,正常情况下放到Linux中运行一般是没有什么问题,最明显的就是编码问题,这个一般都会统一为utf-8,另外还有Windows和Linux的换行符不同的原因,还有当 ...
- effective OC2.0 52阅读笔记(三 接口与API设计)
第三章:接口与API设计 15 用前缀避免命名空间冲突 总结:避免重名符号错误的唯一办法是变相实现命名空间.为所有符号都加上命名前缀.类和分类都应加三字前缀.注意类实现文件中的纯C函数及全局变量,是算 ...
- PL/Proxy介绍
PL/Proxy 介绍 一.概述 1.PL/Proxy 是一个采用PL Language语言的数据库分区系统. 目的:轻松访问分区数据库 它的理念是代理远程函数体内指定.函数调用同样标签创建的函数,所 ...
- Python: 安装BeautifulSoup4
python3.4.3 安装BeautifulSoup4: 使用pip install 安装: 在命令行cmd之后输入,pip install BeautifulSoup4 BeautifulSoup ...
- 更新补丁Bind
1.查询补丁版本信息 (1) rpm -qa|grep bind (2) dig @localhost version.bind 2.下载安装 BIND最新漏洞和升级解决办法 现在有非常多的公司的都有 ...
- java判断身份证有效性
import java.util.Calendar; public class CertNoUtil { public static boolean vIDNumByRegex(String idNu ...
- PHP安全编程:不要让不相关的人看到报错信息
没有不会犯错的开发者,PHP的错误报告功 能可以协助你确认和定位这些错误,可以提供的这些错误的详细描述,但如果被恶意攻击者看到,这就不妙了.不能让大众看到报错信息,这一点很重要.做到这一 点很容易,只 ...
- asp.net 图片下载
string fileName = "123.jpg";//图片名字 string filePath = Server.MapPath(&qu ...