币圈活动项目早知道今日讯:哈希值常常被比喻为电子数据中的指纹,那么究竟这是什么东西呢?
使用指纹进行身份认证(确认是本人而非假冒)
先想像平常使用指纹的方式。
众所皆知,每一个人的指纹都有所不同。
就连同卵双胞胎也会有不一样的指纹,因而可将其用于身份认证。
刑侦连续剧中也常常透过犯罪现场采集到的指纹来比对犯人。
但即使每个人都拥有不同的指纹,也无法藉由指纹来建立脸型、制作脸部照片。
虽然能够利用本人的身体来制作指纹资料,却无法利用指纹资料来制作本人的身体。
以此观点来看,指纹可说是取样自本人身体的综合资讯。
只要预先采集本人的指纹,再比对新采集到的指纹,即可透过一致性来判断是否为本人的指纹。
智能手机的指纹认证、银行ATM的生物识别,以及出国旅行时在海关进行的采集与比对,都是利用指纹来进行验证。
希望可将此用于电脑资讯(档案)
针对电脑的资讯,是否能够同样取出现有的综合资讯呢?
将此概念具体化的计算方式称为「哈希函式」,而计算的结果则称为「哈希值」。
在区块链的技术中,常会使用被称为SHA-256的哈希算法。
此算法会将所有读取的资讯档案变换为256位元(16进位制则是64位数)的数字。
即使是内容大同小异的资讯,只要有1个字的差异,所有256位元的数值都会产生改变,以区块链中的纪录为例,若交易的汇款金额加了0,则交易的哈希值就会截然不同。
但是,并无法从如此计算得出的哈希值中复元出原本的资讯。
若是本人就能够依此计算出哈希值,但如果不知道哈希值,便无法得知原本的资讯。
此性质与指纹相当雷同。
由于无论何等大小的资讯都能整合为256位元的数值,因此在区块链的哈希值领域中,便能将少量资讯纪录成所谓的指纹资料。
纪录哈希值的使用方法
区块链的技术领域中不时可见到哈希值,那么应该要如何使用呢?
以下来探讨防止交易遭到窜改的使用方法。
在交易的过程中,将该交易整体视为单一资讯并置入哈希值。
由于此处是以送出该交易的交易持有人密钥来进行加密,因此必须使用对应的公钥来解密才能读取哈希值。
其次,将交易本身的资讯透过SHA-256来计算哈希值。
如果前后的哈希值一致,就代表该交易并未遭到窜改,一旦两者出现了差异,则可判断交易遭到窜改、或是因为通讯错误等原因导致资讯遭到破坏,进而呈现所谓的伪造状态。
在区块链的技术领域当中,时常以如上所述的方式,将哈希值的运算作为数字资讯的指纹。
由于SHA-256算法可将所有的资讯整合为256位元的数值,因此能够减少资讯量,原理上能够将同一个哈希值用于复数的资讯中。
但尽管如此,现实上仍无法透过刻意篡改资讯的型态来使用同一哈希值。
如上所述,公开密钥与哈希值运算可用于保护区块链。
转载请注明:币圈最新消息 » [币圈活动项目早知道]哈希值是什么意思?纪录哈希值的使用方法