散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
特点:如果两个哈希值是不相同的(根据同一函数),那么这两个散列值的原始输入一定是不相同的;如果两个哈希值相同,两个输入值很可能(极大概率)是相同的,但也可能不同,这种情况称为“哈希碰撞”。
抗篡改能力:对于一个数据块,哪怕只改动其一个比特位,其Hash值的改动也会非常大。它是一种单向函数是“非对称”的,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。
The hash algorithm maps binary values of any length to shorter fixed length binary values,which are called hash values.Hash value is a unique and extremely compact numerical representation of a piece of data.If a clear text is hashed and even one letter of the paragraph is changed,the subsequent hash will produce different values.It is computationally impossible to find two different inputs hashed to the same value,so the hash value of the data can verify the integrity of the data
Hash一般被翻译成“散列”,也可直接音译为“哈希”,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。
这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
Hash主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,这些编码值叫做Hash值.也可以说,通俗的说Hash就是找到一种数据内容和数据存放地址之间的映射关系。
区块链技术整合了密码学、点对点网络、共识机制、智能合约等基础技术元素,形成了一种新的数据记录、传递、储存与呈现的方式,在技术层面构建了无需信任、多方协作的去中心化基础设施。这一特点使得Web 2.0中心化结构中用于管理和监控数据交易的可信第三方变得冗余,也是实现Web 3.0开放、无需信任和无需许可三大主要特点的重要基石。
Web是万维网(World Wide Web,WWW)的简称,是存储在Internet计算机中、数量巨大的文档的集合,是基于客户机/服务器方式的信息发现技术和超文本技术的互联网应用层服务。经过多年的发展,Web经历了Web 1.0、Web 2.0和Web 3.0三个阶段。目前对Web 3.0还没有标准的定义,但Web 3.0一般表示针对Web的新型去中心化架构,其中区块链技术、协议和应用是Web 3.0的基础,比如数字货币。
Web 1.0。Web 1.0时代,大多数基于web的内容是由静态网页组成的,交互受限于超链接和异步评论。
Web 2.0。Web2.0以平台和分享为特征,基于web的接口和技术基础设施允许用户发布内容和与其他用户进行交互。这些平台可以与其他网站、应用和数据进行连接,允许开发者构建和融入其他应用和服务。
Web 3.0。相比Web 1.0和Web 2.0的客户端-服务器(C/S)架构,Web 3.0提出使用基于区块链的P2P架构。在基于区块链的架构中,应用代码和数据分布在分布式网络中的参与节点上,而非中心化的服务器上。但基于区块链的完全去中心化的web架构的技术可行性和可扩展性仍然存在挑战,需要进一步证明。