SHA-2在各种平台上的支持状态如何?

Che*_*eso 6 security hash sha2

我读到SHA-1正在退出FIPS 180-2标准.

显然,SHA-1的弱点导致了这一决定.谁能详细说明这个决定的基础?在商业应用中使用SHA-1会有什么影响吗?

我真正的问题是:

  • 各种类库和平台中SHA-2支持的状态是什么?
  • 我应该尝试转向SHA-2吗?

对主流平台感兴趣:.NET,Java,C/C++,Python,Javascript等.

roo*_*ook 5

Sha1,Sha0,md4和md5在过去几年中都被认为是不安全的.问题是如果攻击者可以生成2个产生相同结果哈希的不同消息,则称为冲突.这会给PKI,密码管理,文件完整性检查等带来很多问题.目前sha1仅提供2 ^ 52位的安全性,这是攻击者可以接触到的.其中SHA-256(sha2系列的最小成员)提供2 ^ 256位.

所有平台都应该具有SHA-256实现,尽管并非所有平台都是本机的.在PHP中,您必须使用mhash扩展.令人费解的是,有些平台没有提供安全散列函数,老实说我相信它是因为它们不关心secuirty.在PHP的情况下,我知道他们不关心secuirty的事实.

目前SHA-2没有任何问题,它具有非常大的安全范围.如果你真的是偏执狂,你可以使用SHA-512 .Sha-3将在2012年出局,你应该像你的PASSWORDS一样用sha-2补丁,然后尽可能移动到SHA-3,但是SHA-512很长时间都会很好用.

  • @edgar只要php缺乏基本的安全功能,比如安全哈希功能,那么这仍然非常相关.我不能根据你的想法改变事实. (4认同)