【问题标题】:How to hash files in C#如何在 C# 中对文件进行哈希处理
【发布时间】:2009-03-08 02:17:15
【问题描述】:
  1. 如何使用 C# 对文件进行哈希处理
  2. 有什么可用的? (md5、crc、sha1 等)
  3. 是否有我应该继承的接口?

我想校验多个文件并将其存储在数据库中,同时使用我自己的两个校验和/哈希。

【问题讨论】:

    标签: c# hash


    【解决方案1】:

    1.) 我如何使用 C# 对文件进行哈希处理?

    您可以在 System.Security.Cryptography

    下使用 .NET 类

    2.) 有什么可用的?

    3.) 是否有我应该继承的接口?

    不,您不必这样做。 看看HashAlgorithm.Create(...)

    【讨论】:

      【解决方案2】:

      片段

      byte[] result; 
      SHA1 sha = new SHA1CryptoServiceProvider(); 
      using(FileStream fs = File.OpenRead(@"file.txt"))
      {
         result = sha.ComputeHash(fs);
      }
      

      另请参阅 SHA1CryptoServiceProvider 或 MD5CryptoServiceProvider。

      CRC 不可用 - 创建自己的更有效。

      【讨论】:

        【解决方案3】:

        你想用哈希实现什么?如果您试图真正保证没有人恶意更改文件,请不要实现您自己的校验和或哈希。您可能会犯一些错误,有人将能够篡改文件并且校验和仍然匹配。使用良好的哈希函数,如 SHA-256。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-15
          • 2018-06-18
          • 1970-01-01
          • 2010-10-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-25
          相关资源
          最近更新 更多