数据安全

提交用户的隐私数据

- 一定要使用POST请求提交用户的隐私数据

      GET请求的所有参数都直接暴露在URL中

      请求的URL一般会记录在服务器的访问日志中

       服务器的访问日志是黑客攻击的重点对象之一

- 用户的隐私数据

    登录密码

   银行账号

数据安全

- 仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题

      可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据

      因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交

- 常见的加密算法

      MD5 \\ SHA \\ DES \\ 3DES \\ RC2和RC4 \\ RSA \\ IDEA \\ DSA \\ AES

- 加密算法的选择

         一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密

MD5

什么是MD5

     - 全称是Message Digest Algorithm 5,译为“消息摘要算法第5版”

     - 效果:对输入信息生成唯一的128位散列值(32个字符)

MD5的特点

      输入两个不同的明文不会得到相同的输出值

     根据输出值,不能得到原始的明文,即其过程不可逆

- MD5的应用

      由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用

      主要运用在数字签名、文件完整性验证以及口令加密等方面

##提交隐私数据的安全过程 – 注册

![](images/Snip20160719_47.png)

提交隐私数据的安全过程 – 登录


数据安全_第1张图片

MD5改进

- 现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度

    加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5

    先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序

      … …

     总之宗旨就是:黑客就算攻破了数据库,也无法解密出正确的明文

Reachability


数据安全_第2张图片

常见用法

// 是否WIFI

+ (BOOL) IsEnableWIFI {

return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);

}

// 是否3G

+ (BOOL) IsEnable3G {

return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);

}

网络监控

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];

self.netReachability = [Reachability reachabilityForInternetConnection];

[self.netReachability startNotifier];

- (void)dealloc

{

[self.netReachability stopNotifier];

[[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:nil];

}

你可能感兴趣的:(数据安全)