title: Is creating a Guid out of an MD5 hash instead of String valid?
body: <p>I am trying to implement a method for detecting duplicate files. I have an <em>MD5</em> hashing method (let's ignore the fact that <em>MD5</em> is broken) as below:</p>
  
  <pre><code>using(MD5 hasher = MD5.Create())
  using(FileStream fs = File.OpenRead("SomeFile"))
  {
      byte[] hashBytes = hasher.ComputeHash(fs);
      string hashString = string.Join(string.Empty, hashBytes.Select(x =&gt; x.ToString("X2"))); 
  }
  </code></pre>
  
  <p>Instead of creating a <code>string</code> out of the <code>hashBytes</code> can I simply create a <code>Guid</code> out of it like so?</p>
  
  <pre><code>Guid hashGuid = new Guid(hashBytes);
  </code></pre>
  
  <p>Would it still be valid or will I lose uniqueness?</p>