Подтвердить что ты не робот

CommonCrypto больше не является частью iPhone SDK. Где еще я могу легко получить функцию MD5?

Так как многие из вас могут уже знать, CommonCrypto больше не входит в iPhone SDK (как в версии 3.0).

Где еще я могу легко получить функцию MD5? Я собираюсь собрать OpenSSL в свой проект, чтобы получить MD5??

Несколько пояснений:

  • Это не для безопасности
  • Это будет использоваться с API, для которого требуется дайджест MD5 строки. Я не контролирую этот API.

Если бы я мог использовать SHA256, я бы это сделал. Я все для продвижения вперед, но я не могу изменить API.


Изменить

Кажется, я ошибся. CommonCrypto все еще находится в iPhone SDK, просто не объяснив, как это было раньше. Я искал библиотеку libCrypto для включения в мой проект. Я не знал, что вы можете включать заголовки CommonCrypto без привязки к библиотеке...

4b9b3361

Ответ 1

Вы уверены, что его не включили? У меня есть приложения, скомпилированные на устройстве для версии 3.0, используя следующий код, который работает:

#import <CommonCrypto/CommonDigest.h>

#define CC_MD5_DIGEST_LENGTH 16   /* digest length in bytes */

- (NSString *)md5:(NSString *)str { 
    const char *cStr = [str UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH]; 
    CC_MD5(cStr, strlen(cStr), result); 
    return [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",         
            result[0], result[1], result[2], result[3],
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15]];    
}