哈希值是什么意思?纪录哈希值的使用方法

2024-04-02分类:区块链技术 阅读(

哈希值常常被比喻为电子数据中的指纹,那么究竟这是什么东西呢?

使用指纹进行身份认证(确认是本人而非假冒)

先想像平常使用指纹的方式。

众所皆知,每一个人的指纹都有所不同。

就连同卵双胞胎也会有不一样的指纹,因而可将其用于身份认证。

刑侦连续剧中也常常透过犯罪现场采集到的指纹来比对犯人。

但即使每个人都拥有不同的指纹,也无法藉由指纹来建立脸型、制作脸部照片。

虽然能够利用本人的身体来制作指纹资料,却无法利用指纹资料来制作本人的身体。

以此观点来看,指纹可说是取样自本人身体的综合资讯。

只要预先采集本人的指纹,再比对新采集到的指纹,即可透过一致性来判断是否为本人的指纹。

智能手机的指纹认证、银行ATM的生物识别,以及出国旅行时在海关进行的采集与比对,都是利用指纹来进行验证。

希望可将此用于电脑资讯(档案)

针对电脑的资讯,是否能够同样取出现有的综合资讯呢?

将此概念具体化的计算方式称为「哈希函式」,而计算的结果则称为「哈希值」。

在区块链的技术中,常会使用被称为SHA-256的哈希算法。

此算法会将所有读取的资讯档案变换为256位元(16进位制则是64位数)的数字。

即使是内容大同小异的资讯,只要有1个字的差异,所有256位元的数值都会产生改变,以区块链中的纪录为例,若交易的汇款金额加了0,则交易的哈希值就会截然不同。

但是,并无法从如此计算得出的哈希值中复元出原本的资讯。

若是本人就能够依此计算出哈希值,但如果不知道哈希值,便无法得知原本的资讯。

此性质与指纹相当雷同。

由于无论何等大小的资讯都能整合为256位元的数值,因此在区块链的哈希值领域中,便能将少量资讯纪录成所谓的指纹资料。

纪录哈希值的使用方法

区块链的技术领域中不时可见到哈希值,那么应该要如何使用呢?

以下来探讨防止交易遭到窜改的使用方法。

在交易的过程中,将该交易整体视为单一资讯并置入哈希值。

由于此处是以送出该交易的交易持有人密钥来进行加密,因此必须使用对应的公钥来解密才能读取哈希值。

其次,将交易本身的资讯透过SHA-256来计算哈希值。

如果前后的哈希值一致,就代表该交易并未遭到窜改,一旦两者出现了差异,则可判断交易遭到窜改、或是因为通讯错误等原因导致资讯遭到破坏,进而呈现所谓的伪造状态。

在区块链的技术领域当中,时常以如上所述的方式,将哈希值的运算作为数字资讯的指纹。

由于SHA-256算法可将所有的资讯整合为256位元的数值,因此能够减少资讯量,原理上能够将同一个哈希值用于复数的资讯中。

但尽管如此,现实上仍无法透过刻意篡改资讯的型态来使用同一哈希值。

如上所述,公开密钥与哈希值运算可用于保护区块链。

Tags: 哈希值