Шифрование с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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