Ios 这是使用校验和的正确方法吗?

Ios 这是使用校验和的正确方法吗?,ios,hash,checksum,nsurlrequest,data-integrity,Ios,Hash,Checksum,Nsurlrequest,Data Integrity,我正在开发一个应用程序,其中包括从网上下载图像。我的一些测试人员发现图像无法下载。在某些情况下,下载失败在中间。最终显示的图像如下所示: 预期的图像如下所示: 应用程序使用API中的URL。我想使用SHA1校验和来验证图像是否已下载,如下所示: 应用程序请求图像信息,包括URL和校验和 应用程序尝试下载图像 该应用程序对下载的图像进行散列,并将其与服务器上的散列进行比较 我有这个权利吗?这种散列是否有助于检测中途失败的下载?您提供的逻辑是正确的。一般来说,当涉及安全性时,将使用SHA1。您可

我正在开发一个应用程序,其中包括从网上下载图像。我的一些测试人员发现图像无法下载。在某些情况下,下载失败在中间。最终显示的图像如下所示:

预期的图像如下所示:

应用程序使用API中的URL。我想使用SHA1校验和来验证图像是否已下载,如下所示:

  • 应用程序请求图像信息,包括URL和校验和
  • 应用程序尝试下载图像
  • 该应用程序对下载的图像进行散列,并将其与服务器上的散列进行比较

  • 我有这个权利吗?这种散列是否有助于检测中途失败的下载?

    您提供的逻辑是正确的。一般来说,当涉及安全性时,将使用SHA1。您可以使用更简单的方法来检查数据是否有效。实际下载的文件的大小等。但是,您提供的逻辑是对从服务器接收的数据的有效性进行更彻底的检查,如果SHA1和签出,则您已准确保证用户已收到您发送的数据


    我相信HTTP和FTP传输协议都能保证这一点。通过担保,这意味着您将在部分文件已下载的情况下收到通知,或在文件完全准确收到的情况下返回成功。因此,除非安全是一个问题,否则SHA1检查是过度的。如果有必要,您还需要在公钥/私钥类型的方案中加密此哈希

    有趣的一点。。。这里真正关心的不是安全问题。我的主要挑战是处理网络不稳定问题。我正在使用系统框架进行下载,但我将研究失败下载的回调,并了解我的想法。在这种情况下,您如何保证从服务器正确接收SHA1?:)你在说什么语言?