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

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

    - (NSString*)MD5:(NSData *) data
        {
            // Create byte array of unsigned chars
            unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH];
    
            // Create 16 byte MD5 hash value, store in buffer
            CC_MD5([data bytes], (CC_LONG)data.length, md5Buffer);
    
            // Convert unsigned char buffer to NSString of hex values
            NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
            for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
            [output appendFormat:@"%02x",md5Buffer[i]];
    
            return output;
        }
    

    How to use

    NSString *yourStrToBeConverted;
    NSData* data = [yourStrToBeConverted dataUsingEncoding:NSUTF8StringEncoding];
    NSString *md5res=[self MD5:data];
    

提交回复
热议问题