我有包含敏感数据的ac#byte [].清除它的最佳方法是什么?我如何确保不会优化Array.Clear之类的东西?
我无法想象任何情况下,呼叫Array.Clear
将被优化掉,即使它可能只会在你byte[]
已被清除的情况下进行优化.
编辑:要考虑的其他事项是找出框架的SecureString
实现是否对您的情况有用:
一个
SecureString
对象是类似String
的,因为它有一个文本值对象.但是,SecureString对象的值会自动加密,可以修改,直到您的应用程序将其标记为只读,并且可以通过应用程序或.NET Framework垃圾收集器从计算机内存中删除