Calcular una suma de comprobación en el iPhone desde NSData

Con el iPhone SDK, el usuario selecciona imágenes del selector de imágenes. Si el usuario selecciona una imagen que ha seleccionado anteriormente, me gustaría informarle al usuario.

Mi plan inicial (solo para asegurarme de que otras cosas funcionen por ahora) es guardar la imagen en un archivo (necesito hacerlo de todas formas por otras razones), usando una suma de comprobación de NSData como nombre de archivo. Luego, cuando seleccionen la misma imagen más adelante, la suma de control será la misma, por lo que puedo ver que ya existe un archivo con ese nombre: ¡hurra!

Sin embargo, he rastreado Internet y los documentos de Apple para saber cómo calcular una suma de comprobación de un NSData. Sé que podría implementar mi propia implementación, pero preferiría evitar eso, si es posible. También me alegro por otras ideas de cómo verificar que dos UIImages sean iguales.

EDITAR

Hace dos años prometí una muestra de código, y aquí está. Realmente lo siento por el retraso! :)

<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>

Respuestas a la pregunta(2)

Su respuesta a la pregunta