这是我目前的情况 - 我有一个应用程序使用CodeDom编译作为字符串的C#代码.我有一个存储密码的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);
Run Code Online (Sandbox Code Playgroud)
我找不到办法做到这一点,我想这实际上是不可能的,而我可能只是将密码存储在加密文件中并从中读取?