How do I create an MD5 Hash of a string in Cocoa?

前端 未结 9 1344
半阙折子戏
半阙折子戏 2020-11-28 04:25

I know SHA-1 is preferred, but this project requires I use MD5.

#include 

- (NSString*) MD5Hasher: (NSString*) query {
    NSData* hash         


        
9条回答
  •  忘掉有多难
    2020-11-28 05:11

    This is the category I use:

    NSString+MD5.h

    @interface NSString (MD5)
    
    - (NSString *)MD5String;
    
    @end
    

    NSString+MD5.m

    #import 
    
    @implementation NSString (MD5)
    
    - (NSString *)MD5String {
        const char *cStr = [self UTF8String];
        unsigned char result[CC_MD5_DIGEST_LENGTH];
        CC_MD5( cStr, (CC_LONG)strlen(cStr), result );
    
        return [NSString stringWithFormat:
            @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
            result[0], result[1], result[2], result[3], 
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15]
        ];  
    }
    
    @end
    

    Usage

    NSString *myString = @"test";
    NSString *md5 = [myString MD5String]; // returns NSString of the MD5 of test
    

提交回复
热议问题