MD5数据加密
1)网络数据加密
现在的md5已经不是绝对的安全,所以通常需要我们对md5进行加密,以增加解密的难度。
a. 加盐(salt):在明文的固定位置插入随机串,然后再进行md5加密。
b. 先加密,后乱序:先对明文进行md5,然后对加密得到的MD5串进行乱序。这种做法较好。
2)本地存储加密
加密对象:重要的数据,比如游戏数据。检测网络的状态。
苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态。
//
// ViewController.m
// 01-检测手机的联网状态
//
// Created by 张旗 on 15/5/18.
// Copyright (c) 2015年 张旗. All rights reserved.
//
#import "ViewController.h"
#import "Reachability.h"
#import "ZQNetworkTool.h"
@interface ViewController ()
@property (nonatomic,strong) Reachability *reachability;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netWorkStateChange) name:kReachabilityChangedNotification object:nil];
}
- (void)dealloc
{
[self.reachability stopNotifier]; // 停止通知
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)netWorkStateChange
{
NSLog(@"网络状态改变");
[self checkNetworkState];
}
- (void)checkNetworkState
{
if ([ZQNetworkTool isEnableWIFI]) {
NSLog(@"WIFI环境");
}else if([ZQNetworkTool isEnable3G]){
NSLog(@"手机自带网络");
}else{
NSLog(@"没有网络");
}
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self checkNetworkState];
}
@end
//
// ZQNetworkTool.m
// 01-检测手机的联网状态
//
// Created by 张旗 on 15/5/19.
// Copyright (c) 2015年 张旗. All rights reserved.
//
#import "ZQNetworkTool.h"
@implementation ZQNetworkTool
+ (BOOL)isEnableWIFI
{
return [[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable;
}
+ (BOOL)isEnable3G
{
return [[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable;
}
@end