从生成MD5哈希的方法开始的奇怪行为 - 返回相同的哈希结果

时间:2011-10-07 14:53:27

标签: iphone ios hash md5

我很困惑。我在我的应用程序中使用此方法,当我传入两个不同的字符串时,它可以返回相同的结果。

但是当我将这个方法复制到另一个应用程序时,我的结果是正常的 - 我找回两个完全不同的字符串结果。

+(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 个答案:

答案 0 :(得分:1)

CC_MD5不期望一个字符串,它需要一个字符指针。

相关问题