0

我用过

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(inImage)];

CC_MD5(imageData, [imageData length], result);

用于生成我的图片的MD5代码并将它们添加到NSDictionary以比较来自 photoLibrary 的图像。但是当我添加一些代码或重新启动我的设备时,我发现哈希码完全改变了。怎样才能解决这个问题?

4

2 回答 2

0

你应该使用

NSData *imageData = [NSData dataWithContentsOfFile:file];
CC_MD5(imageData, [imageData length], result);

那一定可以正常工作。

还可以考虑使用 sha1 作为基础算法。

于 2012-04-04T08:47:38.553 回答
-1

PNG 文件格式允许在二进制数据中包含时间戳。每次调用都会有所不同UIImagePNGRepresentation。恐怕你不能用这种方式用MD5来比较两张图像的数据。尝试从文件中提取原始图像数据并生成原始数据的 MD5。

于 2012-04-04T08:45:26.277 回答