C# 是否可靠地将本地元数据关联到远程文件?

C# 是否可靠地将本地元数据关联到远程文件?,c#,winforms,uniqueidentifier,hash-code-uniqueness,C#,Winforms,Uniqueidentifier,Hash Code Uniqueness,WinForms/C# 我的应用程序允许用户为给定的文件指定1)附加信息2),这两个文件都将上载到服务器。有两个独立的上传:首先是文件,然后(可能更晚)是元数据 请假定该文件始终保持不变且可用(代码) 上传元数据时,我需要确保它与给定文件关联,而不必再次上传该文件(它们是大文件) 我的计划是使用文件的以下三个属性的MD5哈希: 内容 大小 创建日期 散列将在文件和元数据各自的上载(以及最终的持久性)中同时出现 我忽略了什么更聪明的解决方案?你可以考虑使用SHA-1或者更好的SHA256而不是

WinForms/C#

我的应用程序允许用户为给定的文件指定1)附加信息2),这两个文件都将上载到服务器。有两个独立的上传:首先是文件,然后(可能更晚)是元数据

请假定该文件始终保持不变且可用(代码)

上传元数据时,我需要确保它与给定文件关联,而不必再次上传该文件(它们是大文件)

我的计划是使用文件的以下三个属性的MD5哈希:

  • 内容
  • 大小
  • 创建日期
散列将在文件和元数据各自的上载(以及最终的持久性)中同时出现


我忽略了什么更聪明的解决方案?

你可以考虑使用SHA-1或者更好的SHA256而不是MD5,因为MD5散列可能不够独特:可以生成大小和MD5哈希匹配的文件,与其他文件匹配。例如,请参见


Upd:如果文件的唯一性不是很重要,那么在上传过程中只生成一个自动递增的id可能会更方便。

对其他算法的提及表示赞赏。我正在考虑。Re:ID——我在本地没有数据存储,所以很遗憾,这个解决方案不适合。