Вычислить контрольную сумму на iPhone от NSData

Используя iPhone SDK, я имею в виду, что пользователь выбирает изображения из средства выбора изображений. Если пользователь выбирает изображение, которое он выбрал ранее, я хотел бы, чтобы пользователь знал об этом.

Мой первоначальный план (просто чтобы убедиться, что другие вещи работают пока) состоит в том, чтобы сохранить изображение в файл (нужно сделать это в любом случае по другим причинам), используя контрольную сумму NSData в качестве имени файла. Затем, когда они выберут то же изображение позже, контрольная сумма будет такой же, и поэтому я вижу, что файл с таким именем уже существует - ура!

Тем не менее, я исследовал Интернет и документы Apple, чтобы узнать, как вычислить контрольную сумму из NSData. Я знаю, что мог бы реализовать свою собственную реализацию, но я бы предпочел избежать этого, если это возможно. Я также рад за другие идеи о том, как проверить, что два UIImage одинаковы.

EDIT

Два года назад я обещал пример кода, и вот он. Очень жаль за задержку! :)

<code>+(NSString*)imageIdForData:(NSData*)data
{
        char* result = (char*) [[data MD5Sum] bytes];

        NSString* hash =  [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]];

        return hash;
}
</code>

Ответы на вопрос(2)

Ваш ответ на вопрос