[System.Security.SecuritySafeCritical] // auto-generated
 protected override void Dispose(bool disposing) {
     try {
         if (disposing) {
             if (m_cspHandle != null) {
                 m_cspHandle.Dispose();
             }
         }
     }
     finally {
         base.Dispose(disposing);
     }
 }
        public void Dispose()
        {
            Contract.Ensures(m_hashHandle == null || m_hashHandle.IsClosed);
            Contract.Ensures(m_cspHandle == null || m_cspHandle.IsClosed);

            if (m_hashHandle != null)
            {
                m_hashHandle.Dispose();
            }

            if (m_cspHandle != null)
            {
                m_cspHandle.Dispose();
            }
        }
        protected override void Dispose(bool disposing)
        {
            Contract.Ensures(!disposing || m_key == null || m_key.IsClosed);
            Contract.Ensures(!disposing || m_cspHandle == null || m_cspHandle.IsClosed);

            try {
                if (disposing)
                {
                    if (m_key != null)
                    {
                        m_key.Dispose();
                    }

                    if (m_cspHandle != null)
                    {
                        m_cspHandle.Dispose();
                    }
                }
            }
            finally {
                base.Dispose(disposing);
            }
        }
        public void Dispose()
        {
            Contract.Ensures(m_key == null || m_key.IsClosed);
            Contract.Ensures(m_provider == null || m_provider.IsClosed);
            Contract.Ensures(m_depadBuffer == null);

            if (m_key != null)
            {
                m_key.Dispose();
            }

            if (m_provider != null)
            {
                m_provider.Dispose();
            }

            if (m_depadBuffer != null)
            {
                Array.Clear(m_depadBuffer, 0, m_depadBuffer.Length);
            }

            return;
        }