登录时本地保存账号密码的方法

对于登录时保存用户名和密码,苹果官方使用的是KeychainItemWrapper,但使用时有些不便,如在引入KeychainItemWrapper的类中都要关闭arc,不能自定义key,必须使用该类提供的kSecValueData、kSecAttrAccount等。
所以推荐使用第三方类库——SSkeychain,地址在

https://github.com/samsoffes/sskeychain/

它的优点如下:
①无需手动关闭arc,它会自动判断并运行在arc和非arc环境中
②能存储多组账号和密码
使用方法如下:
①项目中引入Security.framework
②将SSKeychain.h和SSKeychain.m导入项目

1 //储存账号密码
2 -(void)storeAccountAndPwd{
3     NSString *accountNum = self.accountField.text;
4     NSString *pwdNum = self.pwdField.text;
5     NSString *serviceName = @"cn.zmfc";
6     [SSKeychain setPassword:pwdNum forService:serviceName account:accountNum];
7 }
8 //service保存的是服务的类型,就是用户名和密码是为哪个应用保存的一个标志。

结果如下:

1 //删除某组特定的账号跟密码
2 NSString *serviceName = @"cn.zmfc";
3 NSArray *accountTemp = [[SSKeychain accountsForService:serviceName] lastObject];
4 NSString *accountNum = [accountTemp valueForKey:@"acct"];
5 NSString *pwdNum = [SSKeychain passwordForService:serviceName account:accountNum];
6 [SSKeychain deletePasswordForService:serviceName account:accountNum];
//若要删除所有的账号和密码,则用
NSArray *accounts = [SSKeychain accountsForService:kSSToolkitMyPswdServiceName];
for (NSDictionary *dictionary in accounts) {
    NSString *account = [dictionary objectForKey:@"acct"];
    [SSKeychain deletePasswordForService:kSSToolkitMyPswdServiceName account:account];
}

更详细的介绍见这里
http://hi.baidu.com/bupt_zhuo/item/fac2422c1861b14f479962f2
http://blog.csdn.net/fangzhangsc2006/article/details/8716131

引申

有时候导入一些第三方文件需要关闭arc,否则报错。这里给出如何部分或整体关闭arc方法。
①整体关闭arc,即整个项目都关闭
Build settings -> Apple LLVM complier 6.0 - Language - objective-C ——> Automatic Reference Counting设置为NO,即可

②部分关闭,即某个类不需要arc,那么只需在该类中关闭arc即可,不影响整体项目。
Build Phrases ——> Compile Sourses,找到不想加arc的.M 文件,在后面加上 -fno-objc-arc

时间: 2024-10-07 02:03:29

登录时本地保存账号密码的方法的相关文章

c#登录时保存账号密码到cookie

登陆界面有用户名.密码输入框,一个’记住账号密码‘的复选框. 1.登录时,勾选‘记住账号密码‘复选框,则会把用户名密码保存在客户端cookie里,保存时间为最大值(直到用户清除浏览器缓存或者取消勾选’记住账号密码‘复选框): 2.登录时,取消勾选‘记住账号密码‘复选框,会清除cookie保存的用户名密码. 3.登录时,当修改了用户名密码,会判断cookie保存的值是否与输入的相同,如果不同,则会修改cookie的值. 4.登录时,当勾选了‘记住账号密码‘复选框,下次打开登录界面,‘记住账号密码‘

MySQL修改root账号密码的方法

MySQL修改root账号密码的方法 MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 mysql> select user();+----------------+| user() |+----------------+| root@localhost |+----------------+1 row in set (0.08 sec) mysql> set password=password('123456

archive成功了,但是在输出ipa时要求有账号密码

archive成功了,但是在输出ipa时要求有账号密码 可以通过命令行方式输出,绕开账号检查1.进入Windows-Organizer-Archives,找到要输出的scarchive列表项:2.右键点击它,选择[Show in Finder]:3.右键点击.xcarchive文件,选择[显示包内容]:4.依次进入子目录 Products-Applications-找到你的目标文件,它其实是一个.app文件(目录):5.使用Go2Shell打开终端,进入该文件所在的目录:(也可以手动cd进入)6

localStorage保存账号密码

首先是判断浏览器是否支持这一属性,他是HTML5里的属性: if(window.localStorage){ alert('支持');}else{ alert('不支持');} localStorage.a = 3;//设置a为"3"localStorage["a"] = "sfsf";//设置a为"sfsf",覆盖上面的值localStorage.setItem("b","isaac"

TortoiseGit保存用户名密码的方法

方法一: 设置 -> git 编辑本地 .git/config 增加 1 [credential]    2     helper = store 保存,输入一次密码后第二次就会记住密码了 方法二: 1. Windows中添加一个HOME环境变量,值为%USERPROFILE% 2. 在“开始>运行”中打开%Home%,新建一个名为“_netrc”的文件 3. 用记事本打开_netrc文件,输入Git服务器名.用户名.密码,并保存: 1 machine github.com      #git

Android使用SharedPreferences保存账号密码

有很多的应用都会有保存密码和账号的功能,比如QQ.接下来就讲讲使用SharedPreferences来保存密码和账号,也许有些人会考虑的数据库,但是我个人认为对于保存简单的数据,使用的数据库就大材小用了,SharedPreferences比较轻量级 首先写好布局,只有两个输入框和一个按钮 <EditText android:id="@+id/number" android:layout_width="match_parent" android:layout_h

cas-简单的验证cas服务器登录和读取数据库账号密码登录

环境win8+tomcat7+jdk7+cas-server-4.0.0-release 1. 首先到 http://downloads.jasig.org/ 地址下载 cas-server-4.0.0-release.zip,解压后到modules目录中找到cas-server-webapp-4.0.0.war,复制到tomcat的webapp目录下,修改名称为cas.war 2. (1)创建证书 keytool -genkey -alias mycas -keyalg RSA -keysiz

各版本数据库初次登录时,强制修改密码

说明: 因为新版本的数据库加强了安全性,所以每次登录时都强制要求修改密码.'root'@'localhost'这个用户的初始密码会在安装 数据库时记录到/var/log/mysqld.log文件中,所以首次登录时,需要找到这个密码,然后登录. mysql 5.6版本登录后修改密码: mysql> SET PASSWORD = PASSWORD('mypass'); mysql 5.7版本登录后修改密码:(二进制版本数据库,非yum安装和源码安装) mysql> alter user 'root

git永久保存账号密码,免去git重复输入账号密码操作

直接在git bash 中执行命令:git config --global credential.helper store 在输入一次账号密码就可以保存了 https://blog.csdn.net/lyly4413/article/details/80691751 原文地址:https://www.cnblogs.com/nanahome/p/12253511.html