首页 > 代码库 > iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全
iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全
演示样例项目下载地址 https://github.com/cerastes/Encryption
1MD5
创建MD5类
#import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSString *)md5HexDigest:(NSString *)input; @end
#import "CJMD5.h" #import <CommonCrypto/CommonDigest.h> @implementation CJMD5 +(NSString *)md5HexDigest:(NSString *)input{ const char* str = [input UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(str, strlen(str), result); NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH]; for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) { [ret appendFormat:@"%02X",result]; } return ret; } @end
MD5是不可逆的仅仅有加密没有解密使用方式例如以下
NSString *userName = @"cerastes"; NSString *password = @"hello Word"; // MD5加密 NSString *md5 = [CJMD5 md5HexDigest:password]; NSLog(@"%@",md5);
2AES加密
AES加密开源码git下载地址
https://github.com/Gurpartap/AESCrypt-ObjC
用法
// AES加密 NSString *encryptedData = http://www.mamicode.com/[AESCrypt encrypt:userName password:password];//加密>
3 BASE64加密下载地址 https://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87
加入例如以下方法
.h
+ (NSString*)encodeBase64String:(NSString *)input; + (NSString*)decodeBase64String:(NSString *)input; + (NSString*)encodeBase64Data:(NSData *)data; + (NSString*)decodeBase64Data:(NSData *)data;
.m+ (NSString*)encodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 encodeData:data]; NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return base64String; } + (NSString*)decodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 decodeData:data]; NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return base64String; } + (NSString*)encodeBase64Data:(NSData *)data { data = [GTMBase64 encodeData:data]; NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return base64String; } + (NSString*)decodeBase64Data:(NSData *)data { data = [GTMBase64 decodeData:data]; NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return base64String; }
用法// BASE64加密 NSString *baseEncodeString = [GTMBase64 encodeBase64String:password]; NSString *baseDecodeString = [GTMBase64 decodeBase64String:baseEncodeString]; NSLog(@"baseEncodeString = %@",baseEncodeString); NSLog(@"baseDecodeString = %@",baseDecodeString);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。