0

我需要在 C# 应用程序中以编程方式加密纯文本文件的部分,并确保数据在未加密时不会轻易在内存中被截获(这可能会带来挑战,因为总有一些地方原始数据会以解密形式处理)。

应该可以通过在文件中加密的密码或理想情况下通过私钥来解密数据。一个要求是允许每个加密块受到唯一密钥对的保护,以便私钥解密加密整体的子集。

我正在考虑使用 RSACryptoServiceProvider 或 .Net 4.0 中可用的其他一些非对称加密方案。我谨慎行事,因为该方案必须坚如磐石,如果有令人信服的理由,我不会反对使用外部库。

我还对维护内存中加密的既定技术感兴趣,以防止运行时堆遍历作为拦截未加密数据的一种手段。

提前致谢。

4

1 回答 1

2

对于如何RSACryptoServiceProvider工作的示例,我只能将您引导到它的MSDN 页面,该页面有一个非常完整的使用示例

对于内存中的安全存储string,您可以使用System.Security.SecureString

SecureString 类:表示应保密的文本。文本在使用时被加密以保护隐私,并在不再需要时从计算机内存中删除。

但是请记住,任何足够熟练和/或有动力的人总是会设法最终打破您设置的保护。

于 2012-05-22T23:04:16.077 回答