我使用
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(inImage)];
CC_MD5(imageData, [imageData length], result);
用于生成我的图片的MD5代码,并将它们添加到NSDictionary中,以比较photoLibrary中的图像。但当我添加一些代码或重新启动设备时,我发现哈希代码完全变了。如何解决这个问题?
您应该使用
NSData *imageData = [NSData dataWithContentsOfFile:file];
CC_MD5(imageData, [imageData length], result);
那一定行得通。
还考虑使用sha1作为基础算法。
PNG文件格式允许在二进制数据中有时间戳。每次调用UIImagePNGRepresentation
时,情况都会有所不同。恐怕你不能用MD5来比较两张图片的数据。尝试从文件中提取原始图像数据,并生成原始数据的MD5。