使用校验和验证接收的文件

时间:2013-07-06 21:16:42

标签: c# checksum

我需要使用Web服务传递文件(我可以控制webservice)。为了满足安全性要求,我需要确保传递的文件未被修改或损坏。我打算在下面这样做。

  1. 将我的文件转换为byte[]
  2. 计算哈希值

    System.Security.Cryptography.MD5.Create().ComputeHash(stream);

  3. 传递文件

  4. 当我将文件(字节数组)传递给Web服务时,传递我的哈希值是一个好习惯吗?

    或者我是否需要按照其他流程检查文件?处理这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果这是安全要求,将MD5总和与文件一起发送可能不是您想要做的:任何可以拦截文件的人也可以重写校验和。

我使用的是CRC:它们对文件(或流)内容中的小变化稍微敏感,而且它们更紧凑,更容易比较。 .NET似乎没有CRC实现,但我发现一个很好的在线似乎运行良好, Calculating CRC-32 in C# and .NET

您的客户端是否也能独立计算校验和?