iPhone:快速哈希函数,用于将网络图像(url)存储为文件(哈希文件名)

2023-12-12

iPhone 可用于对 Web url(图像)进行哈希处理的快速哈希函数是什么?

我想将缓存的 Web 图像存储为一个文件,并以哈希值作为文件名,因为我认为原始 Web url 可能包含奇怪的字符,可能会导致文件系统出现问题。

哈希函数不需要是加密的,但它肯定需要很快。

Example:

Input: http://www.calumetphoto.com/files/iccprofiles/icc-test-image.jpg

Output: 3573ed9c4d3a5b093355b2d8a1468509

这是通过使用 MD5() 完成的,但由于我对该主题了解不多,所以我不知道它是否矫枉过正(-> 慢)。


MD5 可能出于安全目的而被破坏,但它非常适合您描述的情况。这是一个线程关于如何在 iPhone 上实现它。查看 Vroomtrap 的帖子。对于后代,这是我自己的代码版本:

- (NSString *)MD5Hash {
    const char *cStr = [self UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];

    CC_MD5( cStr, strlen(cStr), result );

    return [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] ];
}

您需要导入CommonCrypto/CommonDigest.h header.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone:快速哈希函数,用于将网络图像(url)存储为文件(哈希文件名) 的相关文章

  • 如何构建 Objective-C 静态库? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些 Objective C 类 目前在 Cocoa 应用程序 Mac OS X 和 Cocoa Touch 应用程序 iOS 中
  • UITableView 在单元格刷新时滚动到顶部

    我有一个 UITableView 其中一个单元格的大小是动态调整的 以适应其中的 UITextView 每当键入一个键时 单元格都会检查计算出的高度是否增加 就像换行符一样 因此它可以告诉表单元格的高度需要重新计算 我用这段代码做到了这一点
  • 应用程序:didReceiveRemoteNotification:未调用 fetchCompletionHandler

    出现了这个功能application didReceiveRemoteNotification fetchCompletionHandler当应用程序被强制退出时不会被调用 我的印象是 无论应用程序处于什么状态 该函数都会被调用 但似乎只有
  • TestFlight Beta 中的消息不可用

    I am seeing Unavailable message in TestFLight Beta App in iOS8 Please find the attached screenshot please tell me how to
  • iOS 5 UIView drawRect 覆盖在设备上不起作用

    我正在准备在 iOS 5 GM 上发布我的 iPhone 应用程序 并遇到了 UIView 的错误 当我在子类上重写 drawRect 方法时 模拟器会显示所需的结果 但当我尝试在实际设备上测试时 drawRect 重写根本没有任何效果 我
  • 为什么 iPhone 应用程序的 main() 函数没有机会完成?

    考虑以下main 大多数 iPhone 应用程序都采用以下方法 int main int argc char argv NSAutoreleasePool pool NSAutoreleasePool alloc init int retV
  • iPhone 的翻译器?

    我对为 iPhone 制作一个解释器很感兴趣 这将是一个实验性的想法 但可能会很棒 我喜欢让我自 己的语言适合移动计算和数学的想法 我查阅了很多资料 发现有关 iPhone 上的口译员的信息很复杂 苹果会允许什么 我见过这个应用程序 这是一
  • 调用当前的 Modal ViewController 两次?

    我遇到了 UIViewController presentModalViewController 被调用两次的问题 我有一个模态视图 我试图调出另一个模态视图 但第二次没有任何反应 我怀疑它被隐藏了 还有其他人这样做过吗 您不能在同一个父控
  • UIAlertView 每次调用都会弹出三次,而不是一次

    我在程序的两个不同部分中从 NSAlert 中得到了奇怪的行为 行为是 出现警报 然后自发地消失 警报重新出现 然后一直保留 直到用户解除 即正常行为 警报再次出现 此行为仅在第一次调用显示警报的方法时发生 第一次之后 它的行为就正常了 以
  • 检测 iPhone 屏幕是否打开/关闭

    有没有办法检测 iPhone 的屏幕是打开还是关闭 例如 当按下手机的屏幕锁定按钮时 我一直在使用 void applicationWillResignActive UIApplication application 为此类事件做准备 在大
  • 如何使用 didMoveToView 作为 initWithSize ?

    我将 Xcode 更新到版本 6 从那时起 我就无法使用以前在 Xcode 5 中使用 Objective C 编写的代码了 有一些新文件 GameScene h 和 GameScene m 以及 GameScene sks 而不是 MyS
  • iOS绘图3D图形库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在搜索一个可以帮助我绘制 3D 图表的库 我想要类似的东西这一页 http www math uri edu bkaskosz fla
  • iPhone Dev:从子控制器和 TabBar 中的另一个控制器重新加载表视图的数据

    我正在实现一个笔记管理器应用程序 它在 tabBar 中有一个 tableView 其中显示其笔记的主要信息 访问一个注释时 您可以编辑其属性 在 tabBar 的一个按钮中 您可以选择注释在 tableView 中的显示方式 我遇到的问题
  • 将 NSAttributedString 的子字符串替换为另一个 NSAttributedString

    我想替换一个子字符串 例如 replace of an NSAttributedString和另外一个NSAttributedString 我正在寻找一种等效的方法NSString s stringByReplacingOccurrence
  • 如何将设备上未保存的图片上传到dropbox帐户?(IOS)

    Dropbox RestClient 仅保存文件 所以我想先将图像保存在本地文件夹中 然后上传它 结果它保存了文件 但它已损坏 NSString localPath NSBundle mainBundle pathForResource I
  • 增加 iPhone 的推送通知徽章

    是否可以在收到通知时增加徽章值 或者我应该将计数作为有效负载发送吗 如果我每次都将徽章值发送为 1 那么如果应用程序未打开 我如何增加应用程序图标中的徽章值 我已经使用了这段代码 但不起作用 void application UIAppli
  • 使用ios sdk在youtube上上传视频的方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何从 iOS 应用程序中将视频上传到 YouTube https stackoverflow com questions 3528568 how do i upload a video to you
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • 从应用程序内发送电子邮件中的图像和文本

    如何从我的应用程序内通过电子邮件发送图像和文本 表格数据形式 请大家帮忙并提出建议 谢谢 void sendMailWithImage UIImage image if MFMailComposeViewController canSend

随机推荐

  • 覆盖静态字段

    我正在为我的游戏编写 C 游戏引擎 但遇到了问题 我需要为每种不同类型的块执行 XNA Rectangle drawRectangle 块存储在块列表中 因此必须重写该属性 以便可以通过绘制访问而无需进行大量投射 我尝试了很多方法 但没有一
  • 当 fastcgi 后端偶尔使用内容编码进行 gzip 服务时,如何禁用 Nginx 双 gzip 编码?

    如果后端已经设置了 content encoding 标头 是否有任何聪明的方法可以欺骗 nginx 停止 gzip Nginx 配置为对 php fastcgi 后端的输出进行 gzip 压缩 这在 99 的情况下都很有效 除了极少数情况
  • Xamarin Forms:隐藏 ListView 中的滚动条

    有没有一种简单的方法可以隐藏 ListView 中的滚动条 但仍使其可滚动 您可以为每个平台制作自定义 ListView 渲染器 http developer xamarin com guides cross platform xamari
  • 如何识别弹出窗口之外的点击?

    我有一个弹出窗口 在单击内部时消失 但我的目的是使其在单击外部时消失 目前 弹出窗口工作正常 但每当我在窗口内单击时它就会消失 当我在窗口外单击时 它会保留下来 我如何让它以相反的方式工作 Code as function deselect
  • 为什么受影响的行在更新/删除成功时返回 0?

    我有以下声明 INSERT INTO infotbl name phone VALUES Alex 9999999 并更新它 UPDATE infotbl SET name Alex Johnes phone 999 34356063 WH
  • Safari 扩展 safari.application 错误

    我正在为 safari 进行扩展 我使用 command 创建了一个上下文项showNote 在调试器中我收到以下错误TypeError Result of expression safari application undefined i
  • GDI+:如何在后台线程上将 Graphics 对象渲染为位图?

    我想使用 GDI 在后台线程上渲染图像 我发现这个例子关于如何使用 GDI 旋转图像 这是我想做的操作 private void RotationMenu Click object sender System EventArgs e Gra
  • WPBakery 自定义容器不工作

    我正在创建自定义内容块并使用 WPBakery 插件来执行此操作 但嵌套容器不起作用 当我添加容器时 我无法将其删除 并且子项目根本不显示 该图标也与示例中显示的图标不同 它显示带有鼠标指针的正方形 我错过了什么吗 我遵循的例子是这样的 h
  • 格式化 Invoke-RestMethod 或 ConvertFrom-Json 返回的 [pscustomobject] 实例

    我正在尝试从 RESTful API 接收的 JSON 文件创建一个表 当我打印 json 对象的属性时 我得到如下输出 PS gt Write Output JSON Object Object1 key1 property key2 p
  • 如何仅返回真值作为映射操作的结果

    我有一个函数可以返回元音 但是我只想返回真值 我该怎么做 map a e i o u seq char array Hello gt nil e nil nil o filter identity map f keep f gt keep
  • 检查 Firebase 注册令牌是否无效

    我有一个应用程序 用户可以通过 Firebase 注册 登录 用户可以拥有多个设备 在这些设备之间共享他的所有数据 当然他必须登录 我通过 Firebase 设备令牌跟踪所有设备 并在用户在特定设备上更新某些内容时发送适当的更新通知 现在我
  • Apache Camel:是否可以在不使用 Spring 的情况下配置 WMQ?

    目前我正在使用 apache Camel 和 wmq 对于camel配置和路由 我使用Java DSL 但我找不到任何关于如何使用 Java DSL 配置 WMQ 的示例 这是我尝试配置 WMQ 时得到的结果 配置文件
  • Cocoa WebView 字体太小

    当我向应用程序添加 WebView 时 网页的字体大小比 Safari 中的字体小很多 有什么原因吗 是的 如果您希望字体大小与 Safari 一致 则需要将默认字体设置为 16px 您可以在 Interface Builder 中执行此操
  • 解析XML特殊字符?

    从过去的 2 天开始 我一直在搜索如何使用 等特殊字符解析 XML 但我没有得到足够的信息来说明如何实现它 任何人都可以建议吗 我的东西 我该怎么做 你可以尝试类似的东西this 即给出该特殊字符的参考 Character Referenc
  • 将日期转换为 pd.to_datetime,其中月份可以是数字或月份名称

    我有一个日期时间数据 它们的格式是这样的29062017 and 01AUG2017 如您所见 该月处于数据中间 当我使用时 我想将此数据转换为日期时间pd to datetime 但它不起作用 你知道解决这个问题的好方法吗 您可以使用pd
  • 使用 wsprintf 将 int 转换为 wchar_t*

    我正在尝试获得一个wchar t 格式化为int作为参数 我用谷歌搜索了很多 但结果却更加困惑 所以 考虑这段代码 int main int argc char argv wchar t buf 16 wsprintf buf L d 5
  • 在没有提交按钮的情况下按下回车键时获取要提交的表单

    我有一个没有提交按钮的表单 如果用户按 Enter 键时仍然提交表单 那就太好了 我尝试添加一个隐藏的提交按钮 这为我在 Safari Firefox 和 Chrome 中提供了所需的行为 但在 IE 中仍然未提交表单 有这样做的标准方法吗
  • 在 FTP 上搜索文件

    我想使用 FTP 批处理脚本使用 if exist filename else 语句查找 FTP 上是否存在文件 如下所示 ftp txt open ftp mysite com ftp txt username ftp txt passw
  • Java使用“扩展”和范围解析/“点”运算符?

    我刚刚在阅读一些代码时遇到了这一点 但我完全不知道它意味着什么 我尝试过谷歌搜索之类的 但什么也没得到 可能是因为缺乏词汇量 代码 public final class GeneralPath extends Path2D Float co
  • iPhone:快速哈希函数,用于将网络图像(url)存储为文件(哈希文件名)

    iPhone 可用于对 Web url 图像 进行哈希处理的快速哈希函数是什么 我想将缓存的 Web 图像存储为一个文件 并以哈希值作为文件名 因为我认为原始 Web url 可能包含奇怪的字符 可能会导致文件系统出现问题 哈希函数不需要是