Чтобы решить эту проблему, используйте метод установки для установки пароля, например,
public virtual void UpdatePassword(string newPassword)
{
string hashedPassword = HashPassword(newPassword);
_password = hashedPassword;
}
Таким образом, ваша логика хеширования / шифрования отделена от вашего установщика свойств.В тесте PersistenceSpecification вы затем будете тестировать сохранение / получение зашифрованного текста.
Если вам необходимо расшифровать пароль, используйте метод getter для получения расшифрованного пароля (свойство Password
будет содержать зашифрованныйтекст).
public virtual string GetPasswordDecrypted()
{
...
}
Примечание: если у вас нет веских причин, лучше будет хешировать пароль, чем шифровать его.