bjective-c 加密 MD5 解密MD5

flkt9867 8年前發布 | 4K 次閱讀 C/C++ MD5

main.m文件


//  main.m

//  加密 MD5


#import <Foundation/Foundation.h>

#import "NSString+Extend.h"

int main(int argc, const char * argv[]) {

    NSLog(@"%@",[@"123456" md5]);

    //IOS 以后提供了 base64 的轉碼方式

    NSString * password=@"123456";

    NSData *passwordData=[password dataUsingEncoding:NSUTF8StringEncoding];

    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


 本文由用戶 flkt9867 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!