main.m文件数组
// main.mapp
// 加密 MD5函数
#import <Foundation/Foundation.h>编码
#import "NSString+Extend.h"加密
int main(int argc, const char * argv[]) {spa
NSLog(@"%@",[@"123456" md5]);3d
//IOS 之后提供了 base64 的转码方式code
NSString * password=@"123456";orm
NSData *passwordData=[password dataUsingEncoding:NSUTF8StringEncoding];md5
NSString * result=[passwordData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSLog(@" base64编码: %@",result);
//解码
NSData * decodeData=[[NSData alloc]initWithBase64EncodedString:result options:0];
NSString * decodestr=[[NSString alloc]initWithData:decodeData encoding:NSASCIIStringEncoding];
NSLog(@" base64解码: %@",decodestr);
return 0;
}
.h文件 加密解密(NSString扩展类)
——————————————————————————————————————————————
#import <Foundation/Foundation.h>
@interface NSString(Extend)
-(NSString * )md5;
@end
----————————————————————————————————————————————
.m文件
#import "NSString+Extend.h"
//引入头文件
#import <CommonCrypto/CommonDigest.h>
@implementation NSString(Extend)
-(NSString * )md5{
//转换成C语言的字符串
const char * cstr=[self UTF8String];
//MD5加密的结果是128位,须要开辟16字节的空间
unsigned char result[16];
//调用函数
CC_MD5(cstr, (unsigned int)strlen(cstr), result);
//经过上面这个方法获取的MD5是一个16个字符串的数组----> 32位的MD5
NSMutableString * mustr=[NSMutableString stringWithCapacity:10];
for (int i=0; i<16; i++) {
[mustr appendString:[NSString stringWithFormat:@"%02X",result[i]]];
}
return mustr;
}
@end