2013-05-21 2 views
4

Я хочу, чтобы зашифровать пароль Я поставляя в следующем коде:Шифрование паролей в файле 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> 

Я не хочу жёстко пароль. Как я могу зашифровать его? Пожалуйста, предоставьте ваше предложение. Я googled, но не мог найти решение, которое будет работать для меня.

спасибо.

+0

Вы должны уточнить свой вопрос. Вы ищете универсальный инструмент командной строки для шифрования строки пароля или ищете способ шифрования значения свойства построения во время сборки? –

+0

@OwenWengerd: Спасибо, что ответили. Я не хочу хранить пароль как обычный текст. Идея состоит в том, чтобы зашифровать его и когда тот же передается как параметр в скрипте сборки, то он должен быть дешифрован. – SharpCoder

ответ

2

Существует много способов сделать это. Я описываю только два простейших:

Вы подумали об использовании функции NTFS Encrypting File System?

Сохраните пароль в файле как открытый текст и отметьте файл как зашифрованный. Тогда только пользовательский файл (по умолчанию) имеет доступ к файлу (если вы более параноики, вы можете ограничить доступ, установив 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)