MD5 算法

新建继承于NSObject的类

  • 添加头文件
#import <CommonCrypto/CommonCrypto.h>
  • m文件中
+ (NSString *)stringMD5Desciprtion:(NSString *)string {

    //    // 准备字符串
    //    NSString *originalString = @"今晚408";
    //    // 1、获取C字符串,(MD5基于C语言实现的,Foundation框架字符串需要转化)
    const char *originalData = string.UTF8String;
    // 2、创建字符串数组接受MD5值
    // 一个字节为8位,两个字节为16位,那么两个字符可以表示一个16为进制的数,MD5结果为32位,实际上是由16位16进制数组成
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    // 3、计算MD5值(结果存储在result数组中)
    CC_MD5(originalData,(CC_LONG)strlen(originalData),result);
    // 4、获取数组中的值
    NSMutableString *hash = [NSMutableString string];
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {

        [hash appendFormat:@"%02X",result[i]];
    }
    NSLog(@"%@",hash);

    return hash;
}

+ (NSString *)dataMD5Desciprtion:(NSData *)data {

    //2、创建MD5变量
    CC_MD5_CTX md5;
    //3、初始化
    CC_MD5_Init(&md5);
    //4、准备MD5加密
    CC_MD5_Update(&md5,data.bytes,(CC_LONG)data.length);
    //5、
    unsigned char dataResult[CC_MD5_DIGEST_LENGTH];
    CC_MD5_Final(dataResult,&md5);
    NSMutableString *hashString = [NSMutableString string];
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {

        [hashString appendFormat:@"%02X",dataResult[i]];
    }
    return hashString;
}

  • h
@interface MD5Description : NSObject

+ (NSString *)stringMD5Desciprtion:(NSString *)string;

+ (NSString *)dataMD5Desciprtion:(NSData *)data;
  • 调用
NSLog(@"string加密:%@",[MD5Description stringMD5Desciprtion:@"123"]);
    
    NSString *JSONpath = [[NSBundle mainBundle]pathForResource:@"JSON.txt" ofType:nil];
    
    NSData *data =[NSData dataWithContentsOfFile:JSONpath];
    
    NSLog(@"Data加密家:%@",[MD5Description dataMD5Desciprtion:data]);

  • 打印结果
屏幕快照 2016-06-24 下午2.25.02.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,859评论 0 9
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,831评论 0 17
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,386评论 30 472
  • 以前一直觉得,有你的城市应该连空气都是甜的。现在来到了这里,发现,原来有你的城市是有点酸涩的。因为,明知道你就在我...
    蓬蓬蓬的毛毛熊阅读 1,046评论 1 0
  • 文/天水石逸 何昌彬,字子清,1991年4月生。湖南道县人,大专学历。现在长沙轨道集团工作。 从小爱好书法,多年...
    天水石逸阅读 8,734评论 2 3