title: SHA256CryptoServiceProvider not FIPS compliant?
body: <p>I am looking for a SHA256 implementation in C# that is FIPS compliant. It turns out that SHA1CryptoServiceProvider works. But why does SHA256CryptoServiceProvider trip the </p>
  
  <blockquote>
  <pre><code>{"This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms."}
  </code></pre>
  </blockquote>
  
  <p>error? Seems like it should just work.</p>
  
  <pre><code>var sha = System.Security.Cryptography.SHA256CryptoServiceProvider.Create();   // not FIPS
  </code></pre>
  
  <p>In this case I am using .NET 4.5, but the same thing happens in 3.5 and 4.0. I thought SHA256CryptoServiceProvider was the FIPS-compliant alternative to SHA256Managed. SHA256Cng throws the same error.</p>
  
  <p><strong>Update.</strong> I think I needed to make a "new SHA256CryptoServiceProvider" instead of using Create()</p>