bjective-c 加密 MD5 解密MD5

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C# Random 生成不重复随机数

下一篇: json 序列化与反序列化C#类