标签:
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. 指纹识别的使用
//判断是否支持指纹识别
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请求不能被浏览器缓存
标签:
原文地址:http://www.cnblogs.com/tangranyang/p/4614321.html