加密MSBuild文件中的密码

我想在以下代码中加密我提供的密码:

<Target Name="Default">
    <!-- Install a service on a Remote Machine -->
    <MSBuild.ExtensionPack.Computer.WindowsService 
        TaskAction="Install" 
        ServiceName="__TestService1" 
        User="$(User)" 
        Password="$(password)"
        ServicePath="c:\WINDOWS\system32\taskmgr.exe" 
        RemoteUser="$(RemoteUser)" 
        RemoteUserPassword="$(RemoteUserPassword)" 
        MachineName="$(RemoteMachine)" />
</Target>

我不想硬编码密码.我该怎么加密呢?请提供您的建议.我用谷歌搜索,但找不到适合我的解决方案.

谢谢.

最佳答案 有很多方法可以做到这一点.我只描述了两个最简单的:

您是否考虑过使用NTFS加密文件系统的功能?

将密码作为纯文本存储在文件中,并将文件标记为已加密.
然后,只有用户创建的文件(默认情况下)才能访问文件(如果您更偏执,则可以通过为给定密码文件正确设置ACL来限制访问).
然后你可以轻松读取密码

<ReadLinesFromFile File="$(PasswordFile)" >
  <Output TaskParameter="Lines" ItemName="Password"/>
</ReadLinesFromFile>

其他可能性是将密码存储在注册表(HKLM或HKCU)中,为密钥上的所选用户设置权限.
你可以轻松read registry values

为了防止从ntuser.dat直接读取密码(注册表存储 – 你可以通过inline task加密密码,例如这种方式http://msdn.microsoft.com/en-us/library/ff649224.aspx)

点赞