Bellow is a single function commented in two different ways. Which one is better?
NSString* MD5StringOfString(NSString* inputStr)
{
//UTF8 encoding is used so the hash can be compared with hashes of ASCII strings
NSData* inputData = [inputStr dataUsingEncoding:NSUTF8StringEncoding];
unsigned char outputData[CC_MD5_DIGEST_LENGTH];
CC_MD5([inputData bytes], [inputData length], outputData);
NSMutableString* hashStr = [NSMutableString string];
int i = 0;
for (i = 0; i < CC_MD5_DIGEST_LENGTH; ++i)
[hashStr appendFormat:@"%02x", outputData[i]];
return hashStr;
}
NSString* MD5StringOfString(NSString* inputStr)
{
//convert the string to UTF8 encoded byte data
NSData* inputData = [inputStr dataUsingEncoding:NSUTF8StringEncoding];
//calculate the hash
unsigned char outputData[CC_MD5_DIGEST_LENGTH];
CC_MD5([inputData bytes], [inputData length], outputData);
//convert hash to a hexadecimal string
NSMutableString* hashStr = [NSMutableString string];
int i = 0;
for (i = 0; i < CC_MD5_DIGEST_LENGTH; ++i)
[hashStr appendFormat:@"%02x", outputData[i]];
//return the hexadecimal string
return hashStr;
}