Шифрование с помощью MachineKey не является постояннымC#

Место общения программистов C#
Anonymous
Шифрование с помощью MachineKey не является постоянным

Сообщение Anonymous »

Я использую метод MachineKey.Protect() для шифрования идентификатора, передаваемого в виде строки запроса в моем приложении asp.net MVC.
Вот код, который я использую для шифрования/дешифрования:

Код: Выделить всё

public static string Encrypt(this string expression)
{
if (string.IsNullOrEmpty(expression))
return string.Empty;

byte[] stream = Encoding.Unicode.GetBytes(expression);
byte[] encodedValue = MachineKey.Protect(stream);
return HttpServerUtility.UrlTokenEncode(encodedValue);
}

public static string Decrypt(this string expression)
{
if (string.IsNullOrEmpty(expression))
return string.Empty;

byte[] stream = HttpServerUtility.UrlTokenDecode(expression);
byte[] decodedValue = MachineKey.Unprotect(stream);
return Encoding.Unicode.GetString(decodedValue);
}
А вот элемент MachineKey в моем файле web.config: Проблема в том, что зашифрованный идентификатор не является постоянным. Каждый раз, когда я вызываю метод, я получаю новое зашифрованное выражение. Как сделать его постоянным?


Подробнее здесь: https://stackoverflow.com/questions/252 ... persistent

Вернуться в «C#»