public CloneableHash(int hash, HashType type, int size) { m_Provider = CAPIProvider.Handle; m_Type = type; m_Size = size; m_Disposed = false; if (SspiProvider.CryptDuplicateHash(hash, IntPtr.Zero, 0, out m_Hash) == 0) { throw new CryptographicException("Couldn't duplicate hash."); } }