安全哈希算法(Secure Hash Algorithm,SHA)是由美国国家安全局研发,由美国国家标准与技术研究院(NIST)发布的一系列密码哈希函数,包括 SHA-0、SHA-1、SHA-2 和 SHA-3 等系列。比特币的区块链使用的是 SHA-256 哈希加密算法,于 2001 年发布,属于 SHA-2 分支。由于 SHA256 伪随机性的特点,只要是相同的数据输入,一定会得到相同的结果,如果输入数据稍有变化,将得到一个千差万别的结果,如图 5 所示。SHA256 还是一个单向不可逆的算法,即根据一个输入数算 SHA256 的结果很容易,但根据 SHA256 的结果反算输入数几乎是不可能。除此之外,比特币还使用 ripemd160 算法来生成比特币钱包的地址。
示意图