Я хотел бы создать безопасную переменную, которая будет более или менее CONST для использования в моем коде. Я рассмотрел использование System.Security.SecureString, и похоже, что это может быть билетом, поскольку я не хочу, чтобы пользователь узнал этот пароль. Единственная проблема заключается в его инициализации. В большинстве случаев, похоже, что SecureString лучше всего «установить» нажатием клавиши пользователем. Я не хочу этого Один вариант, который я нашел, выглядит так:
unsafe public static void Main()
{
SecureString testString;
// Define the string value to assign to a new secure string.
char[] chars = { 't', 'e', 's', 't' };
// Instantiate a new secure string.
fixed(char* pChars = chars)
{
testString = new SecureString(pChars, chars.Length);
}
// Display secure string length.
Console.WriteLine("The length of the string is {0} characters.",
testString.Length);
}
Единственная проблема в том, что массив char 't', 'e', 's', 't', вероятно, все еще упакован в память после компиляции. Есть ли какой-нибудь хороший способ установить значение SecureString равным константе до времени компиляции и сделать это значение шифрованным?