我的问题是我想在三重DES中计算加密时间。我把一个定时器控件放在如下所示的形式,但它继续计数甚至加密的问题都结束了。如何以计算加密时间的方式停止计时器控制?
timer1.Enabled = true;
timer1.Start();
//3DES ENCRYPTION
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
UTF8Encoding utf8 = new UTF8Encoding();
TripleDESCryptoServiceProvider tDES = new TripleDESCryptoServiceProvider();
tDES.Key = md5.ComputeHash(utf8.GetBytes(textBox1.Text));
//to decrypt the data we must use these two property
tDES.Mode = CipherMode.ECB;
tDES.Padding = PaddingMode.PKCS7;
//this is interface to encrypt our data
ICryptoTransform trans = tDES.CreateEncryptor();
encrypted = trans.TransformFinalBlock(utf8.GetBytes(textBox2.Text), 0, utf8.GetBytes(textBox2.Text).Length);
textBox3.Text = BitConverter.ToString(encrypted);
答案 0 :(得分:0)
您不应该使用Timer
来跟踪事情需要多长时间。 Timer
设置为在一个时间间隔上调用代码(例如;实时更新该文本框)。
Stopwatch
专门用于进行高精度的操作时序。在这种情况下你应该使用它:
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
//Operations
stopwatch.Stop();
TimeSpan duration = stopwatch.Elapsed;
//Do something with duration