如何在IOS中使用校验和(md5sum)等唯一字段识别照片

Posted

技术标签:

【中文标题】如何在IOS中使用校验和(md5sum)等唯一字段识别照片【英文标题】:How to identify photo with the unique field like checksum(md5sum) in IOS 【发布时间】:2015-01-24 12:58:24 【问题描述】:

我正在创建一个 ios 应用程序,它可以隐藏用户被选中的照片。我可以这样做,但问题是,如果用户再次选择已选择的照片,我需要如何检查它们是 SAME ,我查看了照片的元数据信息,但这可以与其他一些具有相同元信息的照片相匹配,目前我只知道基于带有字节的整个照片数据生成校验和,我认为这可能会导致内存问题并且还会降低性能。因此需要任何专业知识的帮助。提前致谢。

__block NSMutableDictionary *imageMetadata = nil;
ALAssetsGroupEnumerationResultsBlock assetsEnumerationBlock = ^(ALAsset *result, NSUInteger index, BOOL *stop) 

    if (result) 
        [self.assets addObject:result];
        NSDictionary *metadata = result.defaultRepresentation.metadata;
        imageMetadata = [[NSMutableDictionary alloc] initWithDictionary:metadata];
        NSLog(@"%@",imageMetadata.description);
    
;

【问题讨论】:

在这个 SO 中查看 Joanne 的答案:***.com/questions/4314405/… 【参考方案1】:

似乎您可以在前端处理图像识别。

如果self.assetsarray,并且即使您在tableView 中隐藏照片(这会改变indexPaths),为什么不在另一个包含所有内容的数组中使用arrayIndex,比如说......@987654324 @。

但这只是在您用尽所有形式的元数据标识符之后?也许元数据字符串的组合可以产生一些独特的东西?

您如何在 UI 中处理这个问题? TableView?

【讨论】:

是的,我正在使用索引,但我想为用户提供灵活性,比如他们可以删除照片、导出到文件和邮寄所有这些东西,这就是问题所在。【参考方案2】:

我认为,您可以使用 ALAssetPropertyURLs,它将资产表示 UTI 映射到唯一标识资产的 URL。

要获得这个,请使用result.defaultRepresentation.url

网址应该是assets-library://asset/asset.JPG?id=1000000477&ext=JPG:

【讨论】:

以上是关于如何在IOS中使用校验和(md5sum)等唯一字段识别照片的主要内容,如果未能解决你的问题,请参考以下文章

linux命令详解:md5sum命令

md5sum

Linux常用命令——md5sum

jqGrid如何做字段在表全部数据中唯一性函数校验

text 媒体md5sum校验和

Linux命令之MD5校验md5sum