我们曾经最常使用的哈希加密算法是MD5, 如今已被证明非常不安全。山东大学的王小云教授通过碰撞法攻破了MD5算法,可在很短的时间内找到密文的碰撞。计算Md5碰撞的在线工具

王小云团队还宣称破解了SHA1。不过所谓对SHA1破解只是在数学层面,传统认为SHA1寻找碰撞需要进行2^80次运算,而王小云发现只需2^69次运算,随后又找到了更快的2^63次,因此从数学层面上来说SHA1被破解了,但是2^63次依然是个天文数字。尽管如此,人们对SHA1的信心开始动摇, 部分大厂也启动了加密迁移计划: 微软,谷歌, 赛门铁克都制定了SHA1签名的弃用时间表。

目前还没有针对SHA256有效的破解方法。比特币广泛使用了SHA256哈希,这也能从侧面说明它的安全性。 于是我将各种编程语言中SHA256的实现记录下来。

继续阅读