2011-06-16 70 views
2

随着奇妙的“lulsec”,“匿名”和其他有趣的各方打破,解密(除非你的纯文本索尼)并与整个网络分享他们的部落,它引发了一个问题。你会如何保护你的用户的详细信息

你如何保护你的用户密码?

我已经标记了这个C#,因为我已经看到很多网站仍然使用诸如MD5这样的东西,这在充满彩虹表的世界中毫无价值。当然,这不是一个限于特定语言的问题(影响大多数事情);我对处理微软堆栈的反应更感兴趣。

+0

这个问题太广泛了。保护数据是一个绝对很大的话题,不能在书中回答,更不用说StackOverflow的答案了。 – 2011-06-16 11:39:50

+0

我不同意,但将范围缩小到密码;它是一个重要和相关的话题,不应该被限制在书本上。 – 2011-06-16 11:50:18

回答

1

This涵盖了你询问的大部分内容。如果你食盐,MD5是毫无价值的。

盐和无盐表之间的区别是,在前一种情况下,您实际上必须为每种独特的盐创建一个新的彩虹表。如果他们打算找到你的细节,并且只是你,他们可能会像在无损数据库中使用彩虹表一样快速地完成它,但他们不能重复使用这些计算来获得任何其他人的数据。

+0

腌制的问题在于大多数最新的违规(以及大量过去的违规),数据库和源代码都是从系统中提取的;在这种情况下,它很简单,可以基于此重现一个标记,并将其附加到彩虹表处理脚本中。 – 2011-06-16 11:47:28

+0

当然,创建一个独特的盐可以减少大部分事情的发生。但MD5甚至SHA1中的哈希速度在黑客的青睐中起作用。 – 2011-06-16 11:49:07

+0

情况并非如此。如果您为每个用户分配一个随机盐,他们是否拥有代码,数据库或物理服务器并不重要,但它仍然会增加整个数据库中成功攻击的复杂度,盐。阅读文章。 – 2011-06-16 11:50:18