3

我正在用 C# 开发软件,直到现在我一直在使用 .NET 中包含的密码库(尤其是 .NET AesCryptoServiceProvider),但现在我有特殊需求,我需要转向 Bouncy Castle API。我进行了一些测试,发现这些 API 与 .NET 框架中包含的 API 相比要慢一些。关于如何提高他们的表现的任何想法?这是我正在使用的密码: IBufferedCipher cipher = new CtsBlockCipher(new CbcBlockCipher(new AesFastEngine()));

更具体地说,我需要转移到 Bouncy Castle API,因为我需要具有相同长度的输入和输出文件,并且 .NET RijndaelManaged(唯一可以确保这种行为的类)比 .NET 慢得多AesCryptoServiceProvider

在我的机器上加密一个 1.7MB 的文件AesCryptoServiceProvider大约需要 40 毫秒,而使用 Bouncy Castle 大约需要 170 毫秒。它看起来不多,但我需要在每分钟有数百个请求的服务器中使用这个软件......

非常感谢!!

4

1 回答 1

0

由于听起来您需要流密码,因此可以查看Salsa20。一般应该很快。Bouncy Castle 有一个实现(Salsa20Engine)。

于 2012-11-06T15:29:49.117 回答