在C#中获取给定文件的MD5哈希码(作为字符串)

时间:2016-03-02 09:26:00

标签: java c#

如何在C#中获取给定文件的MD5哈希码(作为字符串)? 我知道如何用Java做到这一点,但有人能告诉我如何在C#中做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您忘记说出正确的问题了。正如我从提供的Java代码(逆向工程)中看到的那样,您只需拥有 MD5哈希码(作为 String )给定的文件;如果是你的情况,你只想

  1. 创建MD5加密
  2. 打开文件
  3. 计算文件流上的哈希值
  4. 将哈希值(Byte[])表示为String
  5. 实施可能是

    using System.IO;
    using System.Security.Cryptography;
    ...
    //TODO: it's very time to rename "sig" into something more readable
    private static String sig(String fileName) {
      using (MD5 md5Hash = MD5.Create()) {
        using (FileStream stm = new FileStream(fileName, FileMode.Open)) {
          return String.Concat(md5Hash
            .ComputeHash(stm)
            .Select(b => b.ToString("X2")));
        }
      }
    }