模拟用户时如何将 SecureZeroMemory 与 LogonUser 一起使用?
Posted
技术标签:
【中文标题】模拟用户时如何将 SecureZeroMemory 与 LogonUser 一起使用?【英文标题】:How do I use SecureZeroMemory with LogonUser when impersonating a user? 【发布时间】:2013-02-28 04:17:27 【问题描述】:什么时候需要或推荐添加SecureZeroMemory功能?
this MSFT sample for WindowsImpersonationContext 或这些 *** 问题 link link2 都没有提到 SecureZeroMemory 函数。
我应该实现这个功能(或者也许要求接受答案的所有者包含这个功能?)
【问题讨论】:
你不需要使用它。它只是采取的一种措施,使您在使用后不会在内存中保留用户密码。对于 c# 中的相同效果,您可以使用 char 数组和 Array.Clear 函数或 SecureString 类。 【参考方案1】:SecureZeroMemory
,顾名思义,是一种将内存块设置为所有0x00
值的方法,尽管它具有以下特性:
正如@user629926 所提到的,SecureString
类虽然使用起来很尴尬,但它是一种在内存中保存string
数据的“安全”方式,而不用担心如果您的应用程序崩溃,有人可以筛选内存转储并在其中找到您的原始敏感数据。
【讨论】:
你没有提到为什么使用这个功能是个好主意还是坏主意,你只是描述了它的功能,这不是问题以上是关于模拟用户时如何将 SecureZeroMemory 与 LogonUser 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章