如何解密MVC视图的数据?

时间:2016-11-23 16:44:59

标签: c# asp.net-mvc

我正在使用ASP.NET MVC 4 Runtime,并使用函数将加密数据写入我的数据库。

public string Encrypt(string encryptMe)
{
    return Helpers.Encryptor.Encrypt(encryptMe); 
}

返回时,数据显示如下:

@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.Phone)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Name)

我希望在使用以下函数在此处显示之前解密数据:

public static string Decrypt(string decryptMe)
{
    return Helpers.Encryptor.Decrypt(decryptMe); ;
}

如何解密我的数据?

2 个答案:

答案 0 :(得分:1)

在控制器的方法中,在return View(model);行之前,您可以解密属性。它会是这样的:

foreach (var item in model)
{
    item.Phone = Decrypt(item.Phone);
    item.Name = Decrypt(item.Name);
}

return View(model);

答案 1 :(得分:1)

在模型中添加一个名为例如&#34; DecryptedPhone&#34;的属性。

这只会有一个Get并将调用解密函数:

public string DecryptedPhone
{
      get
      {
      return Decrypt(Phone);
      }
}

private string Phone;

手机将是私密的,因此无法访问。