zoukankan      html  css  js  c++  java
  • 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. 指纹识别的使用 

    1. 导入头文件
      #import <LocalAuthentication/LocalAuthentication.h>
    2. 判断设备是否支持指纹识别
      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. GETPOST对比 

    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请求不能被浏览器缓存 

  • 相关阅读:
    知多少进程?
    提高.NET应用性能
    战术设计DDD
    win7下exe文件设置为开机启动
    CQRS项目
    DDD总览
    ML.Net Model Builder
    MySQL主主复制搭建教程收集(待实践)
    MySQL主从复制搭建教程收集(待实践)
    MySQL集群方案收集
  • 原文地址:https://www.cnblogs.com/tangranyang/p/4614321.html
Copyright © 2011-2022 走看看