私はC#でソフトウェアを開発しており、これまでは.NETに含まれている暗号化ライブラリ(特にAesCryptoServiceProvider
)を使用していましたが、今は特別なニーズがあり、BouncyCastleAPIに移行する必要があります。いくつかのテストを行ったところ、これらのAPIは、.NETFrameworkに含まれているものと比較して遅いことがわかりました。彼らのパフォーマンスを改善する方法について何かアイデアはありますか?これは私が使用している暗号です:
IBufferedCipher cipher = new CtsBlockCipher(new CbcBlockCipher(new AesFastEngine()));
RijndaelManaged
具体的には、同じ長さの入力ファイルと出力ファイルの両方が必要であり、.NET (この種の動作を保証できる唯一のクラス)は。よりもはるかに遅いため、BouncyCastleAPIに移行する必要がありますAesCryptoServiceProvider
。
1.7MBのファイルを暗号化するにAesCryptoServiceProvider
は、私のマシンでは約40ミリ秒、BouncyCastleでは約170ミリ秒かかります。それほど多くはないように見えますが、1分あたり数百のリクエストがあるサーバーでこのソフトウェアを使用する必要があります...
どうもありがとうございます!!