2013-04-26 54 views
-4

如上所述,我想知道什么是C#支持的密码散列的良好做法。什么是C#支持的最安全密码散列算法?

+4

请仔细阅读密码散列和密码加密。加密*不是*哈希。另外,这里的上下文对于最终目标是什么以及为什么SQL Server支持这种散列(或“加密”)至关重要。 – user2246674 2013-04-26 23:55:50

+0

通过在SQL Server和C#中进行散列和比较,你是什么意思?通常,密码将在.NET中散列,然后与您的SQL数据进行比较。你也可以在SQL中进行散列,但是这些选项更加有限。 – 2013-04-26 23:58:49

+0

好吧,我明白了,因此,我会编辑问题。 – 2013-04-26 23:59:31

回答

2

所以我不确定为什么你需要在SQL和C#中都有散列的能力。

无论如何,SQL可能会成为算法选择的限制因素。

SQL Server 2012 supports SHA512(就像.NET一样),这将是一个非常安全的选择。

但是你可以用SQL Server 2008 is SHA1做的最好。


我看到你改变了你的问题。

如果是我,我会与.NET一起散列,并存储一个盐,如解释here。那么你永远不会用SQL来散列。如果您想要最安全的算法,请使用SHA512

+0

为什么downvote? – 2013-04-27 00:11:40

+0

+1抵消'hateraid'...哦,上帝,我只是这么说?! – Brian 2013-04-27 00:13:30

相关问题