SHA 256算法是一种具有确定性的单向哈希函数
算法是执行操作的一系列步骤或过程
哈希函数是种数学函数,输入的长度任意,但是输出长度固定,可以理解为文件的数字指纹,同一个输入值,总是得相同的输出
SHA256(secure hash algorithm)是指输出值为256位的安全的哈希算法
单向代表函数很难逆推(比如30+30加密后的值,只要-30就解密了,但是如果是乱搞成999再加上xx再除什么一堆就很难逆推,如果逆推两个大素数的乘法公式就非常难了)
单向散列函数,输入值可以是任意类型和长度,输出均为256位,可能是0可能是1
有没有可能输入两个不同的数会得到一个结果呢?机会不可能结果有2的256次方多个
运用于:密码学、数字签名、认证等等,还有比特币
任何人在自己计算机上运行这个数学函数,但没有人能逆推他,SHA256在比特币协议中发挥着关键作用,如果你可以逆推这个算法,你就可以比其他人挖矿挖的更快,赚更多钱
比特币的挖矿过程,就是找到输入值的过程,这个输入值是通过SHA256算法产生了一串开头带有70个零的输出值,但是没有已知的公式,每个人能做的只有蛮力计算,一个一个数去试,知道找到正确的输入值。
我们之前说过,不可能找到一个完全相同的哈希值,不过比特币挖矿只需要找到一个接近的哈希值就好,不需要完全匹配,挖矿难度也可以跳转。大约会保证每十分钟就有矿工找到匹配的输入值,然后转12.5个比特币的出块奖励。
这就是为什么我认为是地球上最流行的算法或者说是最常用的算法