什么是区块哈希竞猜游戏系统开发?哈希竞猜游戏系统开发(案例成熟)

简介: 01.Hash函数单向散列函数,又称单向Hash函数、杂凑函数,就是把任意长度的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值。一般用于产生消息摘要,密钥加密等。哈希算法广泛应用于很多场景,例如安全加密和数据结构中哈希表的查找,布隆过滤器和负载均衡(一致性哈希)等等。02.常见的Hash函数常见Hash函数有MD系列、SHA系列、MAC和CRC等。MD系列MD全称Message Digest,按照规范版本分为MD2、MD4、MD5三种算法,目前最常用的是MD5版本算法。MD4算法

01.Hash函数

单向散列函数,又称单向Hash函数、杂凑函数,就是把任意长度的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值。一般用于产生消息摘要,密钥加密等。

哈希算法广泛应用于很多场景,例如安全加密和数据结构中哈希表的查找,布隆过滤器和负载均衡(一致性哈希)等等。

02.常见的Hash函数

常见Hash函数有MD系列、SHA系列、MAC和CRC等。

MD系列

MD全称Message Digest,按照规范版本分为MD2、MD4、MD5三种算法,目前最常用的是MD5版本算法。

MD4算法

1990年,在MD2基础上发展出MD4算法。

MD5算法

1991年,MD4的创始人开发出MD5算法。不管多长的字符串,使用MD5计算后长度都是一样长,方便平时信息的统计和管理。

经过MD5加密生成一个固定长度为128bit的串。因为128位0和1的二进制串表达不友好,因此转化为了16进制,128/4=32位的16进制。将32位去掉前8位和后8位得到的是16位。因此会有MD5的32位和16位加密说法。

SHA系列

SHA(Security Hash Algorithm)是美国的NIST和NSA设计的一种标准的Hash算法,SHA用于数字签名的标准算法的DSS中,也是安全性很高的一种Hash算法。

SHA-1

SHA-1算法的输入消息长度小于264bit,最终输出的结果值是160 Bits,SHA-1与MD4相比较而言,主要增加了扩展变换,将前一轮的输出也加到了下一轮,这样增加了雪崩效应,而且由于其160 Bits的输出,对穷举攻击更具有抵抗性。

大致实现过程:将消息摘要转换成位字符串,对转换后的位字符串进行补位操作,附加长度值并且初始化缓存,然后计算消息摘要。

SHA-256

SHA-256算法输入报文的最大长度不超过264 Bits,输入按512 Bits分组进行处理,产生的输出是一个256 Bits的报文摘要。

SHA-2的其他衍生算法

包括SHA-224、SHA-256、SHA-384、SHA-512,这些版本共同构成了SHA大家庭。

SHA-224:SHA-256的“阉割版”,可以生成长度224bit的信息摘要。

SHA-512:可以生成长度512bit的信息摘要。

SHA-384:SHA-512的“阉割版”,可以生成长度384bit的信息摘要。

SHA家族的最新成员SHA-3已经于2015年问世。

MAC

MAC算法(Message Authentication Codes)带秘密密钥的Hash函数。

MAC算法有两种形式,分别是CBC-MAC算法和HMAC算法。在HTTP中应用最多的MAC算法是HMAC算法。

HMAC(Hash-based Message Authentication Code)算法使用Hash算法作为加密基元,HMAC结合Hash算法有多种变种,比如HMAC-SHA-1、HMAC-SHA256、HMAC-SHA512。不要误以为HMAC算法就是Hash算法加上一个密钥,HMAC算法只是基于Hash算法的,内部的实现还是相当复杂的。

CRC

CRC(Cyclic Redundancy Check):循环冗余检验。是一种根据网上数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的计算机硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。

列表(Hash table,也叫哈希表)是一种查找算法,与链表、树等算法不同的是,散列表算法在查找时不需要进行一系列和关键字(关键字是数据元素中某个数据项的值,用以标识一个数据元素)的比较操作。

散列表算法希望能尽量做到不经过任何比较,通过一次存取就能得到所查找的数据元素,因而必须要在数据元素的存储位置和它的关键字(可用key表示)之间建立一个确定的对应关系,使每个关键字和散列表中一个唯一的存储位置相对应。因此在查找时,只要根据这个对应关系找到给定关键字在散列表中的位置即可。这种对应关系被称为散列函数(可用h(key)表示)。

用的构造散列函数的方法有:

(1)直接定址法:取关键字或关键字的某个线性函数值为散列地址。即:h(key)=key或h(key)=a*key+b,其中a和b为常数。

(2)数字分析法

(3)平方取值法:取关键字平方后的中间几位为散列地址。

(4)折叠法:将关键字分割成位数相同的几部分,然后取这几部分的叠加和作为散列地址。

(5)除留余数法:取关键字被某个不大于散列表表长m的数p除后所得的余数为散列地址,即:h(key)=key MOD p p≤m

(6)随机数法:选择一个随机函数,取关键字的随机函数值为它的散列地址,即:h(key)=random(key)

所以构造一个好用的散列表,最重要的是做好以下两件事情:

设计一个"好"的散列函数来计算Key值。(好的哈希函数应尽可能避免冲突的出现,而且计算时应尽可能简洁快速)

What is a block hash?

The block hash value is the DNA of a piece of data,and each block hash value is unique,random and unbreakable."Hashfun"is hello DAPP,the SK application launched by fun blockchain ecology in the gamefi stage,has a mission to implement the"interesting investment and mining"mechanism and attract millions of Genesis residents.

What is blockchain?

In essence,blockchain is a shared database of data or information stored in it.It has the characteristics of unforgeability,full trace,traceability,openness and transparency,collective maintenance,etc
原文地址:https://www.078t.com/

相关文章
|
传感器 数据可视化
LC串联谐振拓扑仿真建模及控制策略分析
该文介绍了直流高压电源的应用领域,特别是LC串联谐振拓扑在其中的重要性。文章接着详细阐述了LC串联谐振变换器的工作模式,重点讨论了在DCM模式下的电路参数设计,包括变压器变比、谐振频率和器件参数等,并使用Simulink搭建模型进行电路仿真。仿真过程分为电路模型搭建、开环调试和闭环调试,验证了输出电压可调且能稳定在设定值,实现了变换器的设计目标。
334 2
|
缓存 关系型数据库 MySQL
MySQL参数优化之thread_cache_size
MySQL参数优化之thread_cache_size
3446 0
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的家政服务系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的家政服务系统附带文章和源代码部署视频讲解等
144 0
|
存储 编解码 自然语言处理
kali base64 编码和解码
kali base64 编码和解码
451 0
|
关系型数据库 PostgreSQL Docker
docker 容器部署postgresql数据持久化迁移
docker 容器部署postgresql数据持久化迁移
1217 0
|
机器学习/深度学习 人工智能 达摩院
ICASSP 2022论文解读:基于统一深度模型的RTC 3A算法
3A算法,包括回声消除(Acoustic Echo Cancellation, AEC),噪声抑制(Noise Suppression, NS)和自动增益控制(Automatic Gain Control, AGC),是实时通讯(Real-Time Communications, RTC)必不可少的三个算法模块。
1440 0
ICASSP 2022论文解读:基于统一深度模型的RTC 3A算法
|
运维 Oracle 关系型数据库
Oracle学习笔记之与权限相关的视图
Oracle学习笔记之与权限相关的视图
Oracle学习笔记之与权限相关的视图
|
Windows
Qt中的qreal
在桌面操作系统中(比如Windows, XNix等)qreal其实就是double类型;而在嵌入设备系统中,qreal则等同于float 类型。
907 0
|
5天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
4天前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。