【发布时间】:2012-03-19 19:20:04
【问题描述】:
我已将一段使用 Crypto API 的旧非托管代码移植到 100% 托管的 .NET 代码。该代码使用 DES 算法,出于多种原因必须对其进行维护。
由于从 CreateDecryptor 和 CreateEncryptor 方法获得的 CryptoAPITransform 实例被标记为可重用,我想只创建它们的实例并在需要时使用它们。
似乎代码有效,但它导致了内存泄漏,因此决定每次都创建和释放一个实例。到目前为止,它似乎没有泄漏,但我想知道我以前是否使用过它,如果是,我是否可以重用这些实例。
该应用程序是多线程的,并且同时进行大量操作,因此可能存在线程问题,尽管我无法找到任何异常或损坏的消息。此外,我所有的操作都是通过调用TransformFinalBlock 进行的。这听起来对你吗?测试应用程序很乏味,但我想如果同步线程可以阻止泄漏,我会自己尝试。
【问题讨论】:
标签: c# .net windows vb.net cryptography