iOS网络开发(4)网络数据加密-创新互联
数据存储原则
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比利辛网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式利辛网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖利辛地区。费用合理售后完善,十余年实体公司更值得信赖。
任何应用不能在本地直接存储与安全相关的用户信息
任何应用不能向服务器传输与安全相关的而用户信息
常用的加密算法:
MD5:不可逆的算法,用一段数据每次加密后都是一样的
SHA-1:美国国家安全局设计并使用
MD5算法的实现
需要包含头文件
步骤:
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加密后作为名字
...
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:iOS网络开发(4)网络数据加密-创新互联
浏览地址:http://cdiso.cn/article/coshsi.html