我正在构建一个表单,允许我的网站用户设置一个秘密问题和答案。我正在使用NHibernate将我的模型保存到我们的数据库中。
public class User {
public string Question { get; set; }
public string Answer { get; set; }
}
我希望在将用户输入存储到数据库之前对其进行加密。我的第一个想法是为两个属性使用支持字段并在getter和setter中执行加密或解密,但这感觉就像我违反了SoC。
是否有更好的地方转换数据?
答案 0 :(得分:2)
您可以为User
类编写custom model binder,它将对输入值进行加密,并直接向控件操作提供带有加密值的User类实例。
此加密也可以在处理提交表单的控制器操作中执行。
答案 1 :(得分:1)
你可以使用this让NHibernate在持久化时透明地执行它。