Vac*_*ano 8 c# security visual-studio-2008
我有一些代码需要使用提升的权限运行(更多我希望我的其余代码运行).
我有我的代码设置模拟工作,但它需要用户名,域和密码.因为我的代码是在C#.net中,所以我知道任何人都可以找到密码.
有没有办法在我的代码中加密密码?或者以其他方式保护此密码并仍然可以将其传递?
这是我要调用的代码:
using (new Impersonator("UserNameGoesHere", "DomainNameGoesGere", "Password Goes Here"))
{
uint output;
NetUserAdd(AUTHENTICATION_SERVER, 1, ref userinfo, out output);
return output;
}
Run Code Online (Sandbox Code Playgroud)
我想要一个示例,说明如何修复此问题,以便不以纯文本显示我的密码.
我正在使用Visual Studio 2008,.NET 3.5 SP1,并在Windows Server 2003上运行.
瓦卡诺,
我建议您研究数据保护 API (DPAPI),以了解您想要实现的目标。在许多可逆存储应用程序所需密码的最佳实践方法中,它被认为是解决方案的一部分。
可以在这里找到一篇讨论 DPAPI(以及其他技术和关注点)的好文章:
http://msdn.microsoft.com/en-us/magazine/cc164054.aspx
使用 C# 2.0,甚至不需要 P/Invoking;托管包装器存在:
http://blogs.freshlogicstudios.com/Posts/View.aspx?Id=41ca5a99-ddc0-4d0a-9919-2ce10bf50c7e
我希望这有帮助!