protected override void Dispose (bool disposing)
{
if (!m_disposed) {
// note: we ALWAYS zeroize keys (disposing or not)
// clear our copy of the secret key
if (KeyValue != null)
Array.Clear (KeyValue, 0, KeyValue.Length);
// clear the secret key (inside TripleDES)
if (tdes != null)
tdes.Clear ();
if (disposing) {
// disposed managed stuff
KeyValue = null;
tdes = null;
}
// ancestor
base.Dispose (disposing);
m_disposed = true;
}
}