码迷,mamicode.com
首页 > 其他好文 > 详细

数据安全

时间:2014-12-02 19:22:37      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:数据安全

数据安全与实例

1.网络数据加密
1> 加密对象:隐私数据,比如密码、银行信息
2> 加密方案
*
提交隐私数据,必须用POST请求
*
使用加密算法对隐私数据进行加密,比如MD5
3> 加密增强:为了加大破解的难度
*
对明文进行2MD5 MD5(MD5($pass))
*
先对明文撒盐,再进行MD5 MD5($pass.$salt)

2.本地存储加密
1> 加密对象:重要的数据,比如游戏数据。

3.代码安全问题
1> 反编译工具:逆向工程
* 反编译出来都是纯C语言,可读性不高,但是可以知道源代码里面用的是什么框架。

2> 解决方案:发布之前对代码进行混淆。

4.什么是MD5
全称是Message Digest Algorithm 5,译为消息摘要算法第5
效果:对输入信息生成唯一的128位散列值(32个字符)

5.MD5
的特点
输入两个不同的明文不会得到相同的输出值
根据输出值,不能得到原始的明文,即其过程不可逆

6.MD5
的应用
由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用
主要运用在数字签名、文件完整性验证以及口令加密等方面

MD5
解密网站:http://www.cmd5.com

7.MD5加密实例

/**
 *  MD5($pass.$salt)
 *
 * 
@param text 明文
 *
 * 
@return 加密后的密文
 */

- (
NSString *)MD5Salt:(NSString *)text
{
   
// 撒盐:随机地往明文中插入任意字符串
   
NSString *salt = [text stringByAppendingString:@"aaa"];
   
return [salt md5String];
}

注意:
撒盐:随机地往明文中插入随意字符串,但是只能插入固定的字符串,不然服务器也不能解析。

/**
 *  MD5(MD5($pass))
 *
 * 
@param text 明文
 *
 * 
@return 加密后的密文
 */

- (
NSString *)doubleMD5:(NSString *)text
{
   
return [[text md5String] md5String];
}

/**
 * 
先加密,后乱序
 *
 * 
@param text 明文
 *
 * 
@return 加密后的密文
 */

- (
NSString *)MD5Reorder:(NSString *)text
{
   
NSString *pwd = [text md5String];
   
   
// 加密后pwd == 3f853778a951fd2cdf34dfd16504c5d8
   
NSString *prefix = [pwd substringFromIndex:2];
   
NSString *subfix = [pwd substringToIndex:2];
   
   
// 乱序后 result == 853778a951fd2cdf34dfd16504c5d83f
   
NSString *result = [prefix stringByAppendingString:subfix];
   
   
NSLog(@"\ntext=%@\npwd=%@\nresult=%@", text, pwd, result);
   
   
return result;
}

数据安全

标签:数据安全

原文地址:http://blog.csdn.net/itcontend/article/details/41681293

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!