【发布时间】:2011-06-14 10:05:04
【问题描述】:
我有一个简单的 web 应用程序,它有一个登录页面,前端域有一个简单的模型:
string username {get;set;}
string password {get;set;}
但是在发送到数据域对象之前,它是用 sha256 加密的,原来数据域是:
string username {get;set;}
string password {get;set;}
所以我会从 ui 中获取密码,然后使用 Encoding.GetString() 方法对其进行加密,然后取回一个字符串以进行持久化。但是,当我尝试保留数据时,它似乎只是给出了一个异常,我认为这是由于字符串中的字符无效。
环顾四周后,有些人建议将其存储为 varbinary(32) 并在数据层中使用 byte[] 密码 {get;set;},但是我无法让 Nhibernate 正确映射它。
所以谁能告诉我使用 Nhibernate 和 SqlServer 或 MySql 存储散列密码的最佳实践。 (该应用支持两种数据库)
【问题讨论】:
标签: asp.net-mvc nhibernate passwords hash