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

前端 未结 9 1346
半阙折子戏
半阙折子戏 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:13

    I had used this method:

    NSString+MD5.h

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

    NSString+MD5.m

    #import "NSString+MD5.h"
    #import 
    
    @implementation NSString (MD5)
    
    - (NSString *)MD5 {
    
        const char * pointer = self.UTF8String;
        unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH];
    
        CC_MD5(pointer, (CC_LONG)strlen(pointer), md5Buffer);
    
        NSMutableString * string = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
        for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
            [string appendFormat:@"%02x", md5Buffer[i]];
        }
    
        return string;
    }
    
    @end
    

    Usage:

    NSString * myString = @"test";
    NSString * md5 = [myString MD5];
    

提交回复
热议问题