![]() |
1
1
我假设该查询只能有一个结果。如果是这样,您应该使用
} 正如其他人指出的,在该代码中还应该解决其他问题(即,不是存储纯文本密码,而是哈希)。 |
![]() |
2
9
你考虑过微软的吗? Membership API ?它以安全的方式为您处理用户名和密码的所有细节。而且,看起来您计划将密码存储在clear中,这是一个 cardinal sin 在密码学领域。 |
![]() |
3
2
|
![]() |
4
0
假设您的“用户名”字段是唯一的(即主键),只需选择用户并比较密码字段。 此外,一般不应将原始密码存储在数据库中。相反,支持MD5哈希或其他东西(可能使用用户名作为盐)。然后将用户输入的散列值与数据库中的值进行比较,而不是比较原始值。 |
![]() |
5
0
正如大多数人提到的,要么使用已经提供的成员资格API,要么以某种安全的方式加密密码。此外,如果您决定不执行该路由并选择加密密码,请确保使用您知道有效的已建立的加密库。 如果加密算法做得不好,那么对它们进行重新设计可能会有危险的缺陷(更不用说浪费时间,因为不会增加任何价值)。如果密码被泄露,不仅是你的网站有人可以利用,而且可能还有很多其他网站,因为人们倾向于使用相同的用户名和密码。 最后,使用.NET命令行中的aspnet_regsql.exe为成员资格API配置带有架构的数据库。实际上,配置数据库和切换web.config不到5分钟。 |
![]() |
Rm558 · 是否可以更改XML类型上的LINQPad代码生成? 7 年前 |
![]() |
MJK · 规范模式-使用ICollection实现表达式 7 年前 |
![]() |
Roland Ebner · 为实体框架多对多关系构建表达式树? 7 年前 |