/// <summary> /// Reset the RNGCryptoServiceProvider instance. /// </summary> public void Reset() { if (_seedGenerator != null) { _seedGenerator.Dispose(); _seedGenerator = null; } if (_rngGenerator != null) { _rngGenerator.Dispose(); _rngGenerator = null; } _seedGenerator = GetSeedGenerator(_seedType); _rngGenerator = new SP20Drbg(_dfnRounds); if (_seedGenerator != null) _rngGenerator.Initialize(_seedGenerator.GetSeed(_keySize)); else _rngGenerator.Initialize(_stateSeed); _rngGenerator.Generate(_byteBuffer); _bufferIndex = 0; }