你的位置:首页 > 软件开发 > 操作系统 > iOSDay40网络之数据安全

iOSDay40网络之数据安全

发布时间:2016-05-12 21:00:11
在互联网发展趋势迅猛的今天,数据安全的重要性日趋凸显。也成为我们必须了解的互联网知识。在移动互联网浪潮下,用户的资金安全、企业的信息安全都是我们实际开发中必须考虑的内容。1. 数据安全 1> 概述数据安全:是一种主动的包含措施,数据本身的安全必须基于可靠的加密算法与安全体系 ...

互联网发展趋势迅猛的今天,数据安全的重要性日趋凸显。也成为我们必须了解的互联网知识。

在移动互联网浪潮下,用户的资金安全、企业的信息安全都是我们实际开发中必须考虑的内容。

iOSDay40网络之数据安全

密文:经过加密处理处理之后,隐藏原文含义的信息

  • 加密:将明文转换成密文的实施过程

  • 解密:将密文转换成明文的实施过程

  • 2. MD5加密

     1> 哈希算法

    • 哈希算法:哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。

    • 哈希值是一段数据唯一且极其紧凑的数值表示形式。数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。

    • 典型的的哈希算法有:MD2、MD4、MD5 和 SHA-1等。

     2> MD5

      MD5:Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

     3> MD5算法具有以下特点:

    • 压缩性:任意长度的数据,算出的MD5值长度都是固定的(16进制,32位)。

    • 容易计算:从原数据计算出MD5值很容易。

    • 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。

    • 强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

     3> 获取字符串MD5值

    • 引入<CommonCrypto/CommonCrypto.h>

    • 获取字符串的MD5值

     1 + (NSMutableString *)stringMD5:(NSString *)str 2 { 3   // 1. 因为MD5是基于C语言的,所以我们要将字符串进行编码 4   const char *data = [str UTF8String]; 5    6   // 2. 使用字符串数组去存取加密后的相关内容(16进制,32位) 7   // CC_MD5_DIGEST_LENGTH表示长度 8   unsigned char result[CC_MD5_DIGEST_LENGTH]; 9   10   // 3. 进行MD5加密11   // 参数1:要加密的内容12   // 参数2:要加密的data的一个长度13   // 参数3:存储MD5加密后的结果数组14   CC_MD5(data, (CC_LONG)strlen(data), result);15   16   // 4. 创建可变字符串,保存结果17   NSMutableString *mutableStr = [NSMutableString string];18   19   // 5. 遍历结果数组,然后添加到可变字符串中20   for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {21     22     // 16进制需要大家知道格式修饰符(%x表示16进制,02表示当不足两位的时候,前面补0)23     [mutableStr appendFormat:@"%02x", result[i]];24   }25   26   return mutableStr;27 } 

    原标题:iOSDay40网络之数据安全

    关键词:IOS

    IOS
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。