嘿,只是一个简单的问题,因为我正在尝试更多地了解哈希函数,我知道它们如何工作和它们的功能,但它们有多安全?
我希望得到一个简单的答案,而不是链接,因为我从来没有觉得它们有用。
随着现今的技术,两者都可以被破解。同时也有哈希字典可以用来找到短字符串所对应的哈希值。
它们是否安全,高度取决于您想要保护什么。如果您正在构建一个在线银行系统,不建议使用它们(具体取决于在线银行系统中它们的使用方式)。如果您仅将其用于在线用户密码散列,那么还要考虑:您的网站是否值得破解,您有多少用户等等。
一般建议是,先研究您在场景中要实现的安全级别,然后决定使用哪些技术(在这种情况下是哈希)。而且没有100%的安全性。同时,不要将太多时间投入到一个安全问题上,并忽略其他可能不太明显或技术性不强的问题(如人为错误,安全性通过深奥难懂实现,社交工程)。
请看这个:
上面的例子只是许多可能存在的(字典攻击)方式之一。而且每种安全算法的维基百科文章都会提供其漏洞列表。
还可以看看这个:
顺便说一下
永远不要让网站为您使用的真实密码生成哈希值(例如您需要在某处进行测试或出于其他原因)。始终使用测试密码,或在本地计算机上生成哈希值。那些构建哈希数据库的人(无论是黑客还是其他人),都提供在线哈希工具以捕获哈希值。
即使使用SHA哈希,所有上述安全规则仍应实施。特别是TLS,它可以防止登录+密码对被攻击者妥协(无论密码是以明文还是使用MD5或SHA散列,都可能导致成功登录)。同时还应监控登录尝试。即使我们相信自己的网站是防暴力破解的,了解有人正在尝试破解安全性也是有益的。