public override void Initialize() { Debug.Assert(m_algorithm != null, "m_algorithm != null"); base.Initialize(); // If we have a previously used hash handle, we can clean it up now if (m_hash != null) { m_hash.Dispose(); } m_hash = BCryptNative.CreateHash(m_algorithm, KeyValue); // We're allowed to reset the key at this point State = 0; }