ASP.NET не может найти зашифрованную таблицу - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть зашифрованная база данных, я шифрую ее с помощью этого StringCipher, созданного CraigTP для этой записи.

Однако, когда я пытаюсь выполнить поиск в моей базе данных, я не могу выполнить поиск с использованием Decryptedзначения, поскольку каждое значение, которое я шифрую, отличается, шифрование искомого значения и попытка сопоставить его с базой данных бесполезно.Сейчас я расшифровываю список и пытаюсь сопоставить значение поиска с этим расшифрованным списком, но я все еще не могу отобразить результаты.Однако, если я ищу зашифрованное значение, полученное непосредственно из БД, я получаю результаты.Я перепробовал все, что мог придумать, и у меня нет идей.

Вот мой метод индекса:

public ViewResult Index(string sortOrder, string searchString)
        {
            ViewBag.CurrentSort = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Username" : "";


            ViewBag.CurrentSort = sortOrder;

            var Users = from s in db.Users
                           select s;
            foreach(User element in Users)
            {

                element.Username = StringCipher.Decrypt(element.Username.ToString());
                element.Password = StringCipher.Decrypt(element.Password.ToString());

            }

            if (!String.IsNullOrEmpty(searchString))
            {

                Users = Users.Where(s => s.Username.Contains(searchString));
            }
            switch (sortOrder)
            {
                case "Username":
                    Users = Users.OrderByDescending(s => s.Username);
                    break;
            }

            return View(Users.ToList());
        }

А вот мое представление индекса:

    @model IEnumerable<EncryptTest.Models.User>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>

@using (Html.BeginForm())
{
    <p>
        Find by name: @Html.TextBox("SearchString")  
        <input type="submit" value="Search" /></p>
}

<table class="table">
    <tr>
        <th>
            @Html.ActionLink("Username", "Index", new { sortOrder = ViewBag.NameSortParm })
        </th>
        <th>
            Password
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {

        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Username)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Password)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.ID_User}) |
                @Html.ActionLink("Details", "Details", new { id = item.ID_User }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.ID_User })
            </td>
        </tr>
    }

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