Как я могу зашифровать или зашифровать поле с EF CodeFirst? - PullRequest
3 голосов
/ 05 января 2011

Использование кода EF Во-первых, как я могу прервать сохранение значения поля, чтобы его можно было хэшировать? Простым примером будет поле пароля:

public class Account
{
    private string _password; 

    public string Password
    {
        get
        {
            return _password;
        }
        set
        {
           _password = MyHashMethod(value);
        }
    }
}

Похоже, что это работает при сохранении значения в базе данных, но не работает при получении значения.

EDIT: Изменено _password = MyHashMethod (_password) на MyHashMethod (значение) выше. Такое же исправление необходимо внести в ответ ниже.

1 Ответ

6 голосов
/ 05 января 2011

Я бы просто сделал это так:

public class Account {
    public string HashedPassword { get; set; } 
    public string ClearTextPassword { 
        set { HashedPassword = MyHashMethod(value); }
    }
}

В БД хранится только HashedPassword.

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