我读到 SHA-1 即将从 FIPS 180-2 标准中退役。 http://gcn.com/articles/2010/03/03/rsa-sha-competition.aspxhttp://gcn.com/articles/2010/03/03/rsa-sha-competition.aspx
显然 SHA-1 存在缺陷导致了这一决定。谁能详细说明该决定的依据吗?在商业应用中使用 SHA-1 是否有影响?
我真正的问题是:
- 各种类库和平台中 SHA-2 支持的状态如何?
-
我应该尝试迁移到 SHA-2?
对主流平台感兴趣:.NET、Java、C/C++、Python、Javascript等。
Sha1、Sha0、md4 和 md5 在过去几年中都被发现不安全。问题是,如果攻击者可以生成 2 条不同的消息,并产生相同的结果哈希,则称为冲突。这会给 PKI、密码管理、文件完整性检查等带来很多问题。目前 sha1 仅提供 2^52 位的安全性,这对于攻击者来说是可以达到的。其中 SHA-256(sha2 系列的最小成员)提供 2^256 位。
所有平台都应该有 SHA-256 实现,尽管并非所有平台都是本机的。在 PHP 中,您必须使用 mhash 扩展。令人困惑的是,某些平台不提供安全哈希函数,我真的相信这是因为他们不关心安全性。就 PHP 而言,我知道一个事实:他们不关心安全 http://blog.php-security.org/archives/61-Retired-from-securityphp.net.html.
目前SHA-2没有任何问题,并且有非常大的安全边际。如果您是,则可以使用 SHA-512really偏执。 Sha-3 将于 2012 年推出,您应该像您的 sha-2 一样修补任何可以修补的内容密码,然后尽可能转向 SHA-3,但 SHA-512 将在很长一段时间内有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)