【发布时间】:2014-02-04 11:47:19
【问题描述】:
我已经关注了这篇关于如何实现密码散列和加盐的文章 http://www.codeproject.com/Articles/608860/A-Beginners-Tutorial-for-Understanding-and-Impleme
我已经在我的 MVC 5 Web 应用程序中实现了本文中提到的所有代码,但是,每当我存储 PasswordHash 和 Salt 时,这两个字符串都会保存在我的用户表作为问号,例如 ????????????????
我使用的数据库是 Sql Server 2008 R2。我的数据库用户表中的两个字段都有一个 数据类型 Nvarchar(100)
我还应该提到,数据正在使用 Entity Framework 5 持久化到数据库中。
有人见过这个吗?我认为这可能是一个数据类型问题,即不应该是 Nvarchar,但是,我真的不知道。
对此的任何帮助都会很棒。
谢谢。
【问题讨论】:
-
请不要使用 SHA-256 作为密码哈希,因为它太快了。至少使用至少 10000 次迭代的 PBKDF2。请参阅 security.SE 上的 How to securely hash passwords?,了解有关安全密码散列实际工作原理的说明。
标签: sql-server-2008 entity-framework encryption sha