Странное поведение из метода, генерирующего хеш MD5 - возвращает те же результаты хеширования - PullRequest
1 голос
/ 07 октября 2011

Я довольно озадачен.Я использую этот метод в своем приложении, и когда я передаю две разные строки, он может вернуть мне тот же результат.

Но когда я копирую этот метод в другое приложение, мои результаты нормальные - я получаю два совершенно разных результата для обеих строк.

+(NSString *) returnMD5HashOfString:(NSString*)aString 
{   
    // Create byte array of unsigned chars
    unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH];

    // Create 16 byte MD5 hash value, store in buffer
    CC_MD5(aString, aString.length, md5Buffer);

    // Convert MD5 value in the 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;
}

1 Ответ

1 голос
/ 07 октября 2011

CC_MD5 не ожидает строку, он ожидает указатель на символ.

...