vlambda博客
学习文章列表

22、区块链世界的哈希算法?什么是哈希值?

哈希算法是由美国安全局发明,一种能为数据赋予独一无二烙印的算法,是区块链中保证交易信息不被篡改的单向密码机制,它为区块链中的数据办理“身份凭证”,降低系统数据被模仿和造假的可能。

哈希算法并不是指某一种算法,而是某一类算法,就像水果并不是只有苹果,还有香蕉、哈密瓜、葡萄等等。只要符合这类型算法的特点就属于哈希算法。哈希算法的特点是可以将任意长度的信息转换成一段固定长度的字符串。

简单来说,就是将任意长度的交易信息转换为一个固定长度的字符串,哈希算法是一种只能加密,不能解密的密码学算法。

举例说明:假如你的家庭相薄里存储了很多家人的照片,某日大家坐在一起想找出爷爷80岁寿诞的全家福,因为照片太多导致寻找无从下手,但我们在存储照片时如果提前采用字母编码的方式,这样就能根据编码快速的找到对应的图片。

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是由一段数据唯一且极其紧凑的数值表示形式,从一个给定的数据计算出来的。如果散列一段明文哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值进行两个不同的输入,在计算上是不可能的。

举例说明:小红和小明使用哈希函数以确保数据完整性,如果小红对小明编写一条消息并创建该消息的哈希值,则小明可以在稍后散列该消息并将他的哈希值与原始哈希值进行比较。如果两个哈希值相同,则该消息没有被更改;但是,如果值不相同,则该消息在小红编写它之后已被更改。为了使此系统运行,小红必须对除小明外的所有人保密原始的哈希值。