objective-c 加密 MD5 解密MD5

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

相关文章
相关标签/搜索