title: Why does RSACryptoServiceProvider.VerifyHash have a “hash algorithm identifier” parameter?
body: <p>Since <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.verifyhash%28v=vs.100%29.aspx" rel="nofollow noreferrer">RSACryptoServiceProvider.VerifyHash</a> verifies an already hashed message - why does it need to know which hash algorithm was used?</p>
  
  <p>When asking about the <code>SignHash</code> method  , <a href="https://stackoverflow.com/questions/16384715/why-does-rsacryptoserviceprovider-signhash-have-a-hash-algorithm-identifier-pa">it was suggested</a> that the reason there is <a href="https://stackoverflow.com/questions/11843336/why-does-signhash-need-to-know-what-hash-algorithm-was-used">for communicating the hash</a> (and not for actual use in the signing). But that won't explain it in this case. (since it's not an <code>out</code> parameter.) </p>