带有Asp.Net动态数据的密码字段

带有Asp.Net动态数据的密码字段,asp.net,dynamic-data,asp.net-dynamic-data,Asp.net,Dynamic Data,Asp.net Dynamic Data,我有一个要用于动态数据的用户表。问题是我有一个密码字段,我需要使用MD5加密它。我正在使用实体框架,我是如何做到这一点的?我找到了这个解决方案,但如果有人有更好的想法,请告诉我 public partial class SigecRendicionesEntities { partial void OnContextCreated() { // Register the handler for the SavingChanges event. this.

我有一个要用于动态数据的用户表。问题是我有一个密码字段,我需要使用MD5加密它。我正在使用实体框架,我是如何做到这一点的?

我找到了这个解决方案,但如果有人有更好的想法,请告诉我

 public partial class SigecRendicionesEntities
{
   partial void OnContextCreated()
   {
       // Register the handler for the SavingChanges event.
       this.SavingChanges
           += new EventHandler(context_SavingChanges);
   }

   // SavingChanges event handler.
   private static void context_SavingChanges(object sender, EventArgs e)
   {
       // Validate the state of each entity in the context
       // before SaveChanges can succeed.
       foreach (ObjectStateEntry entry in
           ((ObjectContext)sender).ObjectStateManager.GetObjectStateEntries(
           EntityState.Added | EntityState.Modified))
       {
           // Find an object state entry for a SalesOrderHeader object. 
           if (entry.Entity.GetType() == typeof(Usuario))
           {
               Usuario usr = entry.Entity as Usuario;



               string hashProvider = "MD5CryptoServiceProvider";
               usr.Clave = Cryptographer.CreateHash(hashProvider, usr.Clave);
           }
       }
   }
}

另一种方法是创建一个自定义字段模板(使用UIHint覆盖字段模板)来加密此字段。

我不明白这个问题,为什么不能加密密码并将其存储在实体的字段中?Like:var pwd=EncryptPassword(密码);实体密码=pwd;我使用的是动态数据,我没有调用Save的代码。但是如果你知道我在哪里,请告诉我。你使用的是什么版本的.Net/EF?我正在起诉你的密码字段模板,你知道我是如何修改它的吗?