WinForms / C#
我的应用程序允许用户指定 1) 2) 给定文件的附加信息,这两个文件都上传到服务器。有两个独立的上传:首先是文件,然后是(可能很多)元数据。
请假设文件始终保持不变并且可用(对代码)。
上传元数据后,我需要确保它与其给定文件相关联,而无需再次上传该文件(它们是大文件)。
我的计划是使用文件以下三个属性的 MD5 哈希:
- 内容
- 尺寸
- 创建日期
散列将伴随文件和元数据在各自的上传(以及最终持久性)中。
我忽略了什么更聪明的解决方案?
WinForms / C#
我的应用程序允许用户指定 1) 2) 给定文件的附加信息,这两个文件都上传到服务器。有两个独立的上传:首先是文件,然后是(可能很多)元数据。
请假设文件始终保持不变并且可用(对代码)。
上传元数据后,我需要确保它与其给定文件相关联,而无需再次上传该文件(它们是大文件)。
我的计划是使用文件以下三个属性的 MD5 哈希:
散列将伴随文件和元数据在各自的上传(以及最终持久性)中。
我忽略了什么更聪明的解决方案?
您可以考虑使用 SHA-1 甚至更好的 SHA-256 代替 MD5,因为 MD5 哈希可能不够唯一:可以生成大小和 MD5 哈希与其他文件匹配的文件。例如,参见MD5 漏洞。
Upd:如果文件唯一性不是很重要,您可能会发现在上传过程中生成一个自动递增的 id 会更方便。