【问题标题】:Hashed passwords and the entity framework散列密码和实体框架
【发布时间】:2009-10-04 15:44:33
【问题描述】:

我有一个 Users 表,HashedPassword 列是 binary(16) 类型。它用于存储 MD5 哈希。为了生成哈希,我创建了几个存储过程:CreateUser、EditUser 和 LoginUser。他们有一个接受明文密码的参数,将其转换为 MD5 哈希并在表中存储/查找哈希。

问题是我如何将它与实体框架相适应?我尝试在 User 实体中创建一个额外的“密码”字段,然后将该字段与存储过程连接,但我收到一条错误消息,指出此新密码字段未连接到用户表中的列。

我刚开始使用实体框架,所以我可能遗漏了一些明显的东西。也许我应该将哈希生成代码保存在 .net 中而不是数据库中。

【问题讨论】:

    标签: .net entity-framework hash passwords


    【解决方案1】:

    我认为最简单的方法是按照您的建议:将哈希生成代码保留在 .net 中。

    不确定是否可以将 EDM 配置为按您的意愿工作,但解耦安全逻辑、数据访问层和存储层对我来说听起来像是逻辑。

    【讨论】:

      【解决方案2】:

      您看过Membership 框架吗?它可以处理用户、密码、登录名、角色等所有不愉快的事情。

      另外,正如我在prior posts 中管理的那样,MD5 并不安全。 AES 或 BCrypt 是当今更安全的哈希方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        • 2013-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多