0

我有一个要与动态数据一起使用的用户表。问题是我有需要使用 MD5 加密的密码字段。我正在使用实体框架,我该怎么做?

4

2 回答 2

2

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

于 2010-07-14T10:03:49.437 回答
0

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

 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);
           }
       }
   }
}
于 2010-07-13T16:10:24.887 回答