在 iOS 开发中,用户一般注册时候,APP会将用户的用户名和密码直接保存到本地,便于用户下次直接进行登录。

这样就会牵扯到一个问题,用户的密码不能以明文的形式存储在本地,使用钥匙串进行保存用户的密码较为安全。

钥匙串的使用,需要使用第三方的框架, SSKeychain

#import "ViewController.h"
#import "SSKeychain.h"
#define kBundleID @"alexanderTest"
@interface ViewController ()@property (weak, nonatomic) IBOutlet UITextField *usernameField;@property (weak, nonatomic) IBOutlet UITextField *pwdField;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.
}// 登录按钮的点击/**一般用户注册之后,会将用户的账户和密码存在本地,但是都不会以明文的形式存储在本地,最为安全的做法就是使用苹果的钥匙串,来记录密码,其采用的是AES 加密算法,较为安全使用的话,1>  就是导入SSKeychain.h2>  iOS10 之后,需要在项目工程中 Cabilities 中的Keychain Sharing 选项中开启on*/
- (IBAction)loginBtnClick:(id)sender {// 用户一旦输入username 有长度,就去加载本地的密码if (self.usernameField.text.length > 0) {// 去钥匙串取得密码NSError *error = nil;self.pwdField.text = [SSKeychain passwordForService:kBundleID account:self.usernameField.text error:&error];if (!error) {NSLog(@"取得本地数据成功");}else{NSLog(@"取得本地密码失败或者密码不存在");}}
}- (IBAction)registBtnClick:(id)sender {NSString *username = self.usernameField.text;NSString *pwd = self.pwdField.text;// 将密码保存到本地/**将密码存入本地的方法参数1: 用户的密码参数2:服务名,一般都是此APP的 bundle ID,保证唯一性参数3:用户的账户,要通过账户将密码取出来*/NSError *error = nil;[SSKeychain setPassword:pwd forService:kBundleID account:username error:&error];if (!error) {NSLog(@"存数据成功");}
}@end

iOS 使用钥匙串将用户密码存入本地相关推荐

  1. 修改MOSSAD用户密码或本地用户密码

    sharepoint2007的功能之强大,大家有目共睹.但其自身总会存在一些瑕疵.许多人在抱怨产品组怎么不一起开发个修改密码的页面呢?其实这些只要我们自己动手就可以轻易的解决了.以下就是本次的Demo ...

  2. 将CSDN600W用户及密码帐号存入本地MySql数据库

    有感于密码文本文件太大,索性将其存入本地MySql,其中有6个账户因为文件编码问题不知密码,将其删去. 1 import java.io.BufferedReader;  2 import java. ...

  3. IOS的钥匙串,确保本地隐私数据的安全

    * 苹果的"生态圈",钥匙串访问,使用 AES 256 加密算法,能够保证用户密码的安全 * 钥匙串访问SDK,是苹果在 `iOS 7.0.3` 版本以后公布的 * 钥匙串访问的接 ...

  4. php mysql md5加密_php 用户密码MD5加密存入数据库问题//

    比如说用户注册后,后台给用户密码MD5加密了在存入数据库,用户在登入的时候输入的密码要与数据库保存的密码对比.我想问的是,用户登入时,后台要把密码用MD5加密后才能与数据库的密码比较吗? 对,确实如此 ...

  5. ios 密码大小写数字 符号_iOS 用户密码 数字字母特殊符号设置 判断

    //直接调用这个方法就行 -(int)checkIsHaveNumAndLetter:(NSString*)password{ //数字条件 NSRegularExpression *tNumRegu ...

  6. 使用Saminside+Ophcrack破解本地用户密码

    Saminside这玩意儿是俄罗斯人的产物,主要用于破解windows系统的用户密码用的一种神奇工具 而Ophcrack是一个使用彩虹表来破解散列值(hash文件)的这么一个程序.下面是我通过 以上两 ...

  7. iOS应用架构谈(4) 本地持久化方案及动态部署

    前言 嗯,你们要的大招.跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区.每一个issue和 ...

  8. 如何正确对用户密码进行加密?转自https://blog.csdn.net/zhouyan8603/article/details/80473083...

    本文介绍了对密码哈希加密的基础知识,以及什么是正确的加密方式.还介绍了常见的密码破解方法,给出了如何避免密码被破解的思路.相信读者阅读本文后,就会对密码的加密有一个正确的认识,并对密码正确进行加密措施 ...

  9. 如何正确对用户密码进行加密?

    本文介绍了对密码哈希加密的基础知识,以及什么是正确的加密方式.还介绍了常见的密码破解方法,给出了如何避免密码被破解的思路.相信读者阅读本文后,就会对密码的加密有一个正确的认识,并对密码正确进行加密措施 ...

最新文章

  1. eclipse调用JNI之环境的搭建
  2. C++ 字符ASC排序
  3. JAVA基础知识(2)
  4. requests 可以 scrapy 不行_python学习教程,B站博人传评论数据抓取 scrapy
  5. QT_4_QpushButton的简单使用_对象树
  6. 【python】-- Django 中间件、缓存、信号
  7. python 组合数据_python-组合数据类
  8. form表单会跨域_form 表单跨域提交
  9. java 数据包含_java – 包含大量数据库表的通用实现
  10. 如何在Mac 上的“自动操作”中使用所选文件创建工作流程?
  11. 122. PHP 性能问题(3)
  12. 【python入门到实践1】简介和环境搭建
  13. 性能优化-测试If-Else和if哪个性能更好
  14. 贩卖个人信息非法获利300余万,平安惠普、拍拍贷都是买方
  15. RFBNet模型推理
  16. 手机游戏创业者的苦涩:成功率被指0.1%
  17. 武汉大学计算机 韩立,文澜学术系列讲座 第135期 武汉大学经济与管理学院韩立宁老师:“Financial Network and Industry Connectedness”...
  18. 迅为stm32mp157开发板资料手册+实战教程+视频教程
  19. 漫画:骚操作系列(必须掌握的疯子找座问题)
  20. 【转载】提问的智慧(How To Ask Questions The Smart Way)

热门文章

  1. 057 Insert Interval 插入区间
  2. iOS 相册和网络图片的存取
  3. 易买网的一些增删改查
  4. unity中使用自定义shader进行光照贴图烘培无法出现透明度的坑爹问题
  5. Apache学习路线
  6. ASP.NET虚拟主机的重大安全隐患
  7. 模态对话框的父窗口设置
  8. PHP5.5的一点变化
  9. Linux网络编程中的几组类似功能的区别
  10. 深度学习中的最大似然估计简介