SHA-2 (安全散列算法2),其中包括SHA-256,是一个非常流行的散列算法。本文,我们将通过一个实例来尽可能地把这个算法简单的介绍一下。
SHA-2以他的安全性著称,(不像SHA-1那样容易破解),并且它的速度很快。在未生成密钥的情况下,比如挖掘比特币,像SHA-2这种快速的hash算法是非常有优势的。
什么是一个哈希函数?
假如你想比较详细的立即通用的哈希函数,可以参考这里。本文就不详细介绍了,不过我们还是要回顾一下哈希函数的三个重要的作用:
- 确定性的加扰数据。
- 接收任何长度的输入,但是输入的长度是固定的。
- 操作不可逆,也就是说不能从输出推出输入。
SHA-2 VS SHA-256
SHA-2是一个算法,他是一个通用的产生hash数据的想法。SHA-256就是假如一些额外的常量,用来定义SHA-2算法的行为。一个比较常见的常量就是输出的长度。比如256或者512,用这个来设置他们输出的比特大小。
下面让我们来一步一步看一个关于SHA-256的例子。
SHA-256 “Hello World”
第一步 - 预处理
- 把“hello world”转变为二进制:
- 在后面加上一个1