加密ASP.NET MVC2中的用户输入

时间:2010-10-16 17:17:42

标签: asp.net asp.net-mvc nhibernate

我正在构建一个表单,允许我的网站用户设置一个秘密问题和答案。我正在使用NHibernate将我的模型保存到我们的数据库中。

public class User {
    public string Question { get; set; }
    public string Answer { get; set; }
}

我希望在将用户输入存储到数据库之前对其进行加密。我的第一个想法是为两个属性使用支持字段并在getter和setter中执行加密或解密,但这感觉就像我违反了SoC。

是否有更好的地方转换数据?

2 个答案:

答案 0 :(得分:2)

您可以为User类编写custom model binder,它将对输入值进行加密,并直接向控件操作提供带有加密值的User类实例。

此加密也可以在处理提交表单的控制器操作中执行。

答案 1 :(得分:1)

你可以使用this让NHibernate在持久化时透明地执行它。