我编写需要Windows身份验证的测试自动化和脚本才能访问域
我不喜欢将它们保存在app.config中,因为它们以纯文本形式提供
我不喜欢提示输入,因为它不再自动化了。
如果我在程序集中对它们进行硬编码,则可以从.Net Reflector中看到它们,当我提交.cs文件时,它们会被检入源控件。
是否有一种模式/实践可以轻松使用已配置的用户名和密码而不会暴露它们。
这也适用于具有登录凭据的网站和使用Windows身份验证或sql server身份验证进行连接的数据库。 任何建议都将不胜感激。
答案 0 :(得分:1)
您可以将Convert.ToBase64String()和Convert.FromBase64String()与硬编码密码一起使用,以提供基本的混淆。
如果您真的想要更强大的东西,请使用symmetric-key algorithm Blowfish,但这太过分了,你仍然需要将钥匙存放在某个地方。
答案 1 :(得分:1)
运行测试的过程可以将它们作为经过身份验证的用户。这样,您只需在设置服务/预定任务/等时输入用户名和密码。当然,如果您必须实际输入凭据作为测试的一部分,那么这将无济于事。
答案 2 :(得分:1)
你不能使用DPAPI来保护它吗?
有一篇有趣的MSDN文章@ http://msdn.microsoft.com/en-us/magazine/cc164054.aspx