【发布时间】:2012-11-06 09:59:20
【问题描述】:
我正在使用 C# 开发软件,直到现在我使用的是 .NET 中包含的加密库(尤其是 AesCryptoServiceProvider),但现在我有特殊需求,我需要转向 Bouncy Castle API。我做了一些测试,发现这些 API 与 .NET 框架中包含的 API 相比要慢一些。关于如何提高他们的表现的任何想法?
这是我正在使用的密码:
IBufferedCipher cipher = new CtsBlockCipher(new CbcBlockCipher(new AesFastEngine()));
更具体地说,我需要使用 Bouncy Castle API,因为我需要具有相同长度的输入和输出文件,并且 .NET RijndaelManaged(唯一可以确保这种行为的类)是一种方式比AesCryptoServiceProvider 慢。
使用AesCryptoServiceProvider 加密一个 1.7MB 的文件在我的机器中大约需要 40 毫秒,而使用 Bouncy Castle 大约需要 170 毫秒。看起来不多,但是我需要在每分钟有数百个请求的服务器中使用这个软件...
非常感谢!!
【问题讨论】:
标签: c# performance encryption aes bouncycastle