Как можно зашифровать параметр строки запроса id - PullRequest
1 голос
/ 25 июня 2019

Мне нужно отправить параметр "@id" с зашифрованным (в строке поиска браузера), затем расшифровать идентификатор, чтобы получить значения идентификатора из представления редактирования. Как я могу использовать криптографию AES.

public ActionResult Edit(int? id)
{
    return view(model);
}

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Вы не можете зашифровать и расшифровать параметр в параметре строки запроса в URL. Если вы хотите передать параметры между клиентским браузером и хост-системой, этот параметр необходимо скрыть в содержимом обмена сообщениями между хостом и клиентом, в то время как весь обмен сообщениями зашифрован через HTTPS.

0 голосов
/ 25 июня 2019

Вы можете сделать это следующими шагами:

Шаг 1: Создайте новый класс в своем проекте и скопируйте и вставьте код из Эта ссылка .

Шаг 2: Создайте проект сейчас

шаг 3:

Поместите пространство имен MyExtension поверх вашей страницы (просмотр)

@Html.EncodedActionLink(item.Name, "YourActionName", "YourControllerName", new { id = item.ID }, null)

Шаг 4:

[EncryptedActionParameter]
public ActionResult Edit(int? id)
{
    return view(model);
}

Отредактировано: После выполнения описанных выше шагов я обнаружил проблему с расшифровкой и изменил ее. Поэтому вам нужно изменить byte[] IV = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 }; на byte[] IV = { 55, 34, 87, 64, 87, 195, 54, 21 }; в Decrypt и Encrypt в классе MyExtensions.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...