0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

哈希算法函数的定义描述及其特征介绍

开发MrsFu123 ? 来源:开发MrsFu123 ? 作者:开发MrsFu123 ? 2022-06-28 21:02 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

哈希的本质是一个采用哈希算法的数学函数,它被广泛应用于区块链中构建区块以及确认交易信息的完整性上。

什么是哈希算法?哈希算法是密码学中的一个重要算法,哈希的英文为Hash。

哈希算法有一个输入和一个输出,其输入称为消息,输出值是根据消息内容计算出的值,称为哈希值(又或称为摘要)

哈希算法函数的定义描述:

(1)输入消息长度任意

(2)输出哈希值长度固定

简单的理解,就是一串任意长的数据经过哈希函数的计算后,生成一串长度固定的短数据。

当今区块链技术中大量使用的哈希算法函数是SHA-256。SHA-256是SHA-2算法家族中的一种,SHA全称是安全哈希算法(Secure Hash Algorithm)。SHA-256的输入消息长度为任意位数,其输出的哈希值长度固定为二进制的256位。SHA-256具备密码哈希函数的基本特性

哈希函数有三个重要的特征。

第一,哈希的单向性、就是我们只能够把任意长度的数据,通过哈希函数生成一个固定长度的哈希值,反过来却不可能通过这个哈希值再推导出原来的输入数据,这就是哈希的单向性。

很多人好奇区块链是怎么形成的,简单理解,区块链=区块+链。例如我们把一个区块打包以后就会通过哈希函数计算出一个哈希值,这个值就会存放到下一个区块中,下一个区块里的哈希值就把上一个区块给锁定了,这就是哈希锁定。区块链的不可更改就是从这里来的,因为如果你把前面的区块数据篡改了,那和后面区块里的哈希值,就不能够对应了。在区块链中,每一个区块都对上一个区块进行内容锁定,这就是哈希锁定。

第二,哈希的唯一性。我们把一个任意长的数据通过哈希函数生成一个哈希值,生成的这个哈希值是唯一的。不会存在两个不同的输入生成的哈希值相同的这种情况。但是这句话是有问题的,为什么呢?你把任意长数据变成短数据,或者说你把大的文件变成一个短的哈希值,在科学上它是有一定的概率会形成相同的哈希值的,只是这个概率极低极低,到目前为止,采用SHA256算法的哈希函数还没有发生过相同哈希值的碰撞事件,所以说哈希的唯一性,就是这么来的。

第三,哈希的离散性。离散性是什么意思呢,就是两个非常相近的文件,或者说两个只相差一位数的数据,计算出来的两个哈希值却是天壤之别,是没有任何相似的地方的,这就是哈希的离散性。这个特性有效地规避了一些特定的攻击,如果两个文件只相差那么一丢丢,他计算出来的哈希值也很相近的话,是很容易遭受到攻击的。以上所述是哈希的三个重要特征。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数学函数
    +关注

    关注

    0

    文章

    9

    浏览量

    6430
  • 哈希算法
    +关注

    关注

    1

    文章

    56

    浏览量

    10981
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    详解RTOS中的Hook函数

    Hook函数是RTOS中的一个关键特性,通过该函数,用户可以增强对任务管理的控制,定义系统行为。
    的头像 发表于 03-24 16:14 ?445次阅读

    VirtualLab Fusion应用:非近轴衍射分束器的设计与优化

    )的结构设计生成一系列分束器的初始设计,然后通过傅里叶模态法或严格耦合波分析(FMM/RCWA)进一步优化。为了给最后一个优化步骤定义一个合适和有效的优化函数,应用了可编程光栅分析器。第二个示例更详细
    发表于 03-10 08:56

    VirtualLab Fusion应用:使用自定义的评价函数优化高NA分束器

    严格的后优化,至少建议进行严格的分析。在这个用例中,使用奇数衍射级对典型的二元1:6分束器执行这样严格的评估。为此,对初始系统的结构进行了参数化,并通过可编程光栅分析器定义了一组自定义的评价函数。对于
    发表于 03-07 08:54

    百问FB网络编程 - 主要函数介绍

    是bind后的文件描述符。 backlog设置请求排队的最大长度。当有多个客户端程序和服务端相连时,使用这个表示可以介绍的排队长度。 listen函数将bind的文件描述符变为监听套接
    发表于 12-04 09:55

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+内容简介

    内容简介这是一本深入解读基础算法及其电路设计,以打通算法研发到数字IC设计的实现屏障,以及指导芯片设计工程师从底层掌握复杂电路设计与优化方法为目标的专业技术书。任何芯片(如WiFi芯片、5G芯片
    发表于 11-21 17:14

    常用SQL函数及其用法

    的 SQL 函数及其用法: 一、聚合函数(Aggregate Functions) 聚合函数对一组值执行计算,并返回单个值。 COUNT() 用途 :返回匹配指定条件的行数。 示例 :
    的头像 发表于 11-19 10:18 ?1565次阅读

    针对文档描述内容,索引并输出对应数据

    如图,根据文档的描述及要求和输入的value,输出对应的数据;难点在于“车速”检测0xFFFE输出异常,检测到其它值输出车速,应该怎样去处理比较好
    发表于 11-13 09:49

    华纳云:Chord算法如何管理节点间的联系?

    Chord算法是一种分布式哈希表(DHT)协议,它通过构建一个环状结构来管理节点间的联系。以下是Chord算法如何管理节点间联系的具体方式: 环状结构: Chord算法将所有节点和键
    发表于 11-08 16:03

    SUMIF函数与SUMIFS函数的区别

    : 1. 函数定义 SUMIF函数 :用于对满足单一条件的单元格求和。其基本语法为 SUMIF(range, criteria, [sum_range]) ,其中: range :应用条件的区域
    的头像 发表于 10-30 09:51 ?7739次阅读

    如何由系统函数求频率响应

    复数域中描述和考察系统的特性,通常表示为G(s),其中s是复数变量,s=σ+jω(σ为实部,ω为虚部)。 频率响应函数描述系统对不同频率正弦输入信号的响应特性,是系统传递函数在σ=0
    的头像 发表于 10-18 09:32 ?3656次阅读

    什么叫系统的频率响应函数?它和传递函数有何关系

    系统的频率响应函数(Frequency Response Function, FRF)是描述线性时不变(Linear Time-Invariant, LTI)系统在不同频率下输入和输出之间关系的数学
    的头像 发表于 10-18 09:29 ?4987次阅读

    音频特征描述

    电子发烧友网站提供《音频特征描述.pdf》资料免费下载
    发表于 10-10 11:37 ?0次下载
    音频<b class='flag-5'>特征描述</b>

    电位的定义与规定

    在电路理论中,电位描述了电路中某点相对于参考点的电压状态。为了更好地理解电位及其相关概念,下面将从定义、规定、符号表示等方面进行介绍。 一、电位的
    的头像 发表于 09-24 17:50 ?7748次阅读

    开源物联网技术--哈希算法MD5加密功能技术分享

    MD5(Message-Digest Algorithm 5)是一种常用的哈希函数,通常用于数据加密和安全校验等场合。MD5 算法可以将任意长度的消息输入计算出一个固定长度的摘要,其生成的摘要具有
    的头像 发表于 09-21 09:57 ?2792次阅读
    开源物联网技术--<b class='flag-5'>哈希</b><b class='flag-5'>算法</b>MD5加密功能技术分享

    艾体宝洞察 一文读懂最新密码存储方法,揭秘密码存储常见误区!

    本篇文章将引入并介绍密码存储中的基石,关于密码哈希、盐加密(Salting)、密钥派生函数(KDF)的原理及其应用,揭示密码存储中的常见误区,并分享一系列安全实践。
    的头像 发表于 09-14 17:37 ?785次阅读
    艾体宝洞察 一文读懂最新密码存储方法,揭秘密码存储常见误区!