在.net中Rijndael和TripleDES的比较
2011-07-14 09:37
253 查看
2008-9-15ganton 今天,我对使用Rijndael和TripleDES那一个算法有些疑惑,据我所知Rijndael比TripleDES要快些,但是在.net开发过程中有些信息让我知道在2.0中TripleDES却比Rijndael快, 为了证明其正确性,我将做一个测试。测试的结果是他们的效率基本一样。 我测试的电脑,内存2G,cpu酷睿双核E84003Ghz,.net3.5。下面是测试代码: usingSystem;
usingSystem.IO;
usingSystem.Security.Cryptography;
usingSystem.Diagnostics;
namespaceAESvsTripleDES
{
classProgram
{
staticvoidMain(string[]args)
{
doublerijndaelResult;
doubletripleDesResult;
using(SymmetricAlgorithmalgorithm=Rijndael.Create())
{
rijndaelResult=RunTest(algorithm);
}
using(SymmetricAlgorithmalgorithm=TripleDES.Create())
{
tripleDesResult=RunTest(algorithm);
}
Console.WriteLine("RijndaelResult="+rijndaelResult.ToString());
Console.WriteLine("TripleDESResult="+tripleDesResult.ToString());
Console.Read();
}
privatestaticdoubleRunTest(SymmetricAlgorithmalgorithm)
{
using(MemoryStreamms=newMemoryStream())
{
using(ICryptoTransformtransform=algorithm.CreateEncryptor())
{
using(CryptoStreamcs=newCryptoStream(ms,transform,CryptoStreamMode.Write))
{
byte[]data=newbyte[8192];
Randomr=newRandom(255);
for(inti=0;i<data.Length;i++)
{
data[i]=(byte)r.Next();
}
Stopwatchsw=newStopwatch();
sw.Start();
for(inti=0;i<10000000;i+=data.Length)
{
cs.Write(data,0,data.Length);
}
sw.Stop();
returnsw.ElapsedMilliseconds;
}
}
}
}
}
}原文地址:
相关文章推荐
- java和.NET的比较
- .NET 2.0中的字符串比较
- .NET深入学习笔记(2):C#中判断空字符串的4种方法性能比较与分析
- .net中比较两幅图片是否相同
- Java/.net/PHP比较 程序员眼中的.Net世界
- COM组件与.Net组件的比较
- .net(关于字符串的相等问题[比较重要])
- .Net中批量添加数据的几种实现方法比较
- 为什么.NET程序第一次运行比较慢?
- .NET 的 WebSocket 开发包比较
- .NET中栈和堆的比较 #1
- 比较著名的.net技术论坛网址(含国外的)
- 各大主流.Net的IOC框架性能测试比较
- 我眼中的.net的缺点(和Java比较)
- Java,.NET中当前时间获取、格式化方法比较
- .Net规则引擎Biztalk,Workflow和CKRule的比较
- 各大主流.Net的IOC框架性能测试比较
- 各大主流.Net的IOC框架性能测试比较
- .NET 的WebSocket开发包详细比较(2)
- 三种属性操作性能比较:PropertyInfo + Expression Tree + Del“.NET研究”egate.CreateDelegate