清除带有敏感数据的ac#字节数组

Gau*_*tam 6 c# passwords

我有包含敏感数据的ac#byte [].清除它的最佳方法是什么?我如何确保不会优化Array.Clear之类的东西?

And*_*are 9

我无法想象任何情况下,呼叫Array.Clear将被优化掉,即使它可能只会在你byte[]已被清除的情况下进行优化.

编辑:要考虑的其他事项是找出框架的SecureString实现是否对您的情况有用:

一个SecureString对象是类似 String的,因为它有一个文本值对象.但是,SecureString对象的值会自动加密,可以修改,直到您的应用程序将其标记为只读,并且可以通过应用程序或.NET Framework垃圾收集器从计算机内存中删除