如何安全地从内存中删除敏感信息

时间:2017-05-02 21:24:08

标签: c# xamarin memory-management xamarin.ios garbage-collection

安全渗透工具能够从内存转储中获取敏感信息。 据我所知,将null设置为任何变量都应该没问题我猜...但是我无法调用处理任何C#varialbes。

基本上我计划将所有内容存储在钥匙串中,每当我获得值时,使用后我将设置为空以清除...但为什么无法调用dispose ...我不知道

如果有更好的方法来处理xamarin中的敏感数据变量,请告诉我。

1 个答案:

答案 0 :(得分:2)

Dispose()意味着要在那些实现析构函数或终结器的对象上调用。为了隐藏挥之不去的敏感数据,我假设你的意思是string值。您可以实施SecureString。这会将存储string的内存区域转换为密文。

适用于SecureString的Stack Overflow。但不确定是否通过Xamarin支持它。至少在它是密文时,它不会通过内存转储公开。我警告你,实施这是一个奇怪的api。