MD5 算法

新建繼承于NSObject的類

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

    //    // 準(zhǔn)備字符串
    //    NSString *originalString = @"今晚408";
    //    // 1、獲取C字符串,(MD5基于C語言實現(xiàn)的,F(xiàn)oundation框架字符串需要轉(zhuǎn)化)
    const char *originalData = string.UTF8String;
    // 2、創(chuàng)建字符串?dāng)?shù)組接受MD5值
    // 一個字節(jié)為8位,兩個字節(jié)為16位,那么兩個字符可以表示一個16為進制的數(shù),MD5結(jié)果為32位,實際上是由16位16進制數(shù)組成
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    // 3、計算MD5值(結(jié)果存儲在result數(shù)組中)
    CC_MD5(originalData,(CC_LONG)strlen(originalData),result);
    // 4、獲取數(shù)組中的值
    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、創(chuàng)建MD5變量
    CC_MD5_CTX md5;
    //3、初始化
    CC_MD5_Init(&md5);
    //4、準(zhǔn)備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;
  • 調(diào)用
NSLog(@"string加密:%@",[MD5Description stringMD5Desciprtion:@"123"]);
    
    NSString *JSONpath = [[NSBundle mainBundle]pathForResource:@"JSON.txt" ofType:nil];
    
    NSData *data =[NSData dataWithContentsOfFile:JSONpath];
    
    NSLog(@"Data加密家:%@",[MD5Description dataMD5Desciprtion:data]);

  • 打印結(jié)果
屏幕快照 2016-06-24 下午2.25.02.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,051評論 0 9
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,328評論 0 17
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,618評論 30 472
  • 以前一直覺得,有你的城市應(yīng)該連空氣都是甜的?,F(xiàn)在來到了這里,發(fā)現(xiàn),原來有你的城市是有點酸澀的。因為,明知道你就在我...
    蓬蓬蓬的毛毛熊閱讀 187評論 1 0
  • 文/天水石逸 何昌彬,字子清,1991年4月生。湖南道縣人,大專學(xué)歷。現(xiàn)在長沙軌道集團工作。 從小愛好書法,多年...
    天水石逸閱讀 3,683評論 2 3

友情鏈接更多精彩內(nèi)容