iOS网络开发(4)网络数据加密

  • 数据存储原则

    成都创新互联主要从事成都网站设计、成都网站制作、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务岚山,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

任何应用不能在本地直接存储与安全相关的用户信息

任何应用不能向服务器传输与安全相关的而用户信息

常用的加密算法:

     MD5:不可逆的算法,用一段数据每次加密后都是一样的

     SHA-1:美国国家安全局设计并使用

  • MD5算法的实现

需要包含头文件<CommonCrypto/CommonDigest.h>

步骤:

    1)将待加密OC字符串转化为C语言字符串

    2)使用CC_MD5()函数将待加密C语言字符串加密,获得加密后的数据

    3)将加密后的数据,转化为OC字符串

    注意:加密后的数据,每一个字节的值以2位16进制表示的字符串形式作为结果

通常将字符串加密的方法封装在NSString的分类中,如:

@implementation NSString (MD5Coding)

- (NSSting*) MD5 {
    const char * cStr = self.UTF8String;
    unsigned char digest[CC_MD5_DIGEST_LENGTH];
    
    CC_MD5(cStr, strlen(cStr), digest);
    
    NSMutableString * result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];
    for ( int i=0; i< CC_MD5_DIGEST_LENGTH; i++ ) {
        [result appendFormat:@"%02x", digest[i]];
    }
    return result;
}

@end

  • SHA-1算法加密

使用SHA-1算法加密的步骤和MD5基本类似,使用CC_SHA1()函数代替CC_MD5()函数

     

@implementation NSString (SHA1Coding)

- (NSSting*) SHA1 {
    const char * cStr = self.UTF8String;
    NSData * data = [NSData dataWithBytes:cStr length:self.length];
    unsigned char digest[CC_SHA1_DIGEST_LENGTH];
    
    CC_SHA1(data.bytes, data.length, digest);
    
    NSMutableString * result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH*2];
    for ( int i=0; i< CC_SHA1_DIGEST_LENGTH; i++ ) {
        [result appendFormat:@"%02x", digest[i]];
    }
    return result;
}

@end

  • MD5的应用

这两种算法中,MD5应用最为广泛

1)本地存储数据时,如密码等私密信息存储在偏好设置中,存储MD5加密后的

2)缓存文件(如图片)存储在缓存文件下,将对应的URL进行MD5加密后作为名字

...

网站题目:iOS网络开发(4)网络数据加密
文章网址:https://www.cdcxhl.com/article34/jhiepe.html

成都网站建设公司_创新互联,为您提供全网营销推广标签优化面包屑导航服务器托管品牌网站制作微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营