Здесь моя текущая ситуация. У меня есть приложение, которое компилирует код С#, взятый в виде строки, используя CodeDom. У меня есть SecureString, который хранит пароль, и мне было интересно, есть ли способ передать эту переменную SecureString в скомпилированный код в качестве SecureString?
Вот пример кода:
SecureString securePassword = getSecurePass();
string codeString =
@"using System;
using System.Security;
namespace SomeProgram
{
class MyClass
{
static void Main(string[] args)
{
SecureString securePass = new SecureString();
// somehow set this equal to the securePassword variable
}
}
}";
// Compiler Code
CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
string outFile = "output.exe";
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = outFile;
CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, codeString);
Я не могу найти способ сделать это, и я предполагаю, что это на самом деле невозможно, и вместо этого я должен просто сохранить пароль в зашифрованном файле и прочитать его из этого?