偏好设置保存用户信息

偏好设置保存用户信息.

{

    <1>如果用户登陆成功,就保存用户信息.下次直接从偏好设置中读取用户信息,以此做到用户只需要输入一次账号和密码,以后登陆就可以不用再次输入.

    

    1>.登陆成功,保存用户信息(偏好设置)

    2>.再次进入,直接显示用户之前保存的信息.避免用户重复输入.

    

    // 偏好设置存储用户信息

    -(void)savaUserInfo

    {

        // 实例化偏好设置对象(单例)

        NSUserDefaults *User = [NSUserDefaults standardUserDefaults];

        // 保存用户名

        [User setObject:self.userName.text forKey:kITUSERNAMEKEY];

        // 保存用户密码

        [User setObject:pass forKey:kITUSERPASSKEY];

        // 同步保存用户信息

        [User synchronize];

    }

    

    // 加载偏好设置中的用户信息

    - (void)loadUserInfo

    {

        NSUserDefaults *User = [NSUserDefaults standardUserDefaults];

        

        if ([User objectForKey:ITUSERNAMEKEY]) {

            

            self.userName.text = [User objectForKey:ITUSERNAMEKEY];

            

        }if ([User objectForKey:ITUSERPASSKEY]) {

            

            self.password.text = [User objectForKey:ITUSERPASSKEY];

            

        };

    }

    

    <2> 用户登陆业务逻辑

    {

        // <1> 用户登陆需要一个单独的控制器,因为只需要登陆一次(Login.storyboard). 应用程序需要有一个入口:main.storyboard: app 主页面

        

        // <2> 判断用户是否登陆成功过(通过偏好设置中存储的用户信息判断)

        // 1> 如果偏好设置中存有用户信息(说明之前登陆成功过),直接进入 app 主页面 :main.storyboard

        // 2> 如果偏好设置中不存在用户信息(第一次登陆或者之前注销了用户信息),进入登陆界面 :Login.storyboard

        

        // <3> 如果用户登陆成功,跳转到 app 主页面:main.storyboard.并且在偏好设置中保存用户信息.

        

        // <4> 如果用户点击注销按钮,注销用户信息,返回到登陆页面.

    }

    

 

    <3> 问题: 用户密码不能以明文的形式保存,需要对用户密码加密之后再保存!

    

    密码的安全原则:

    

    1> 本地和服务器都不允许保存用户的密码明文.

    

    2> 在网络上,不允许传输用户的密码明文.

    

    现代密码学趣闻! 中途岛海战(AF)

    

    <4> 数据加密算法:

    

    1> 对称加密算法:加密和解密使用同一密钥.加密解密速度快,要保证密钥安全.适合给大数据加密.

    

    2> 非对称加密算法:使用公钥加密,私钥解密.或者使用私钥加密,公钥解密.更加安全,但是加密解密速度慢,适合给小数据加密.

    

    <5> 小技巧:

    

    openssl :是一个强大的安全套接字层密码库,囊括主要的密码算法,常用的密钥和证书封装管理功能以及 SSL 协议.提供丰富的应用程序测试功能.

    

    终端命令:

    

        echo hello |openssl md5

        echo hello |openssl sha1

        echo hello |openssl sha -sha256

        echo hello |openssl sha -sha512

}

posted @ 2015-09-14 20:27  熊虎成  阅读(287)  评论(0编辑  收藏  举报