当前位置:网站首页>什么是区块哈希竞猜游戏系统开发?哈希竞猜游戏系统开发(案例成熟)
什么是区块哈希竞猜游戏系统开发?哈希竞猜游戏系统开发(案例成熟)
2022-07-04 18:45:00 【VC_MrsFu123】
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
边栏推荐
- C language - Introduction - Foundation - grammar - process control (VII)
- 1009 product of polynomials (25 points) (PAT class a)
- Related concepts of federal learning and motivation (1)
- [today in history] July 4: the first e-book came out; The inventor of magnetic stripe card was born; Palm computer pioneer was born
- Lingyun going to sea | 10 jump &huawei cloud: jointly help Africa's inclusive financial services
- 多表操作-内连接查询
- Small hair cat Internet of things platform construction and application model
- Development and construction of DFI ecological NFT mobile mining system
- Qt编写物联网管理平台38-多种数据库支持
- 更强的 JsonPath 兼容性及性能测试之2022版(Snack3,Fastjson2,jayway.jsonpath)
猜你喜欢
node强缓存和协商缓存实战示例
What does the neural network Internet of things mean? Popular explanation
解密函数计算异步任务能力之「任务的状态及生命周期管理」
Qt编写物联网管理平台38-多种数据库支持
abc229 总结(区间最长连续字符 图的联通分量计数)
精选综述 | 用于白内障分级/分类的机器学习技术
What should we pay attention to when doing social media marketing? Here is the success secret of shopline sellers!
紫光展锐完成全球首个 5G R17 IoT NTN 卫星物联网上星实测
Related concepts of federal learning and motivation (1)
What is the application technology of neural network and Internet of things
随机推荐
New wizard effect used by BCG
六石编程学:关于代码,有六个得意
C # better operation mongodb database
Lingyun going to sea | 10 jump &huawei cloud: jointly help Africa's inclusive financial services
1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
记一次 .NET 某工控数据采集平台 线程数 爆高分析
C server log module
Key rendering paths for performance optimization
被奉为经典的「金字塔原理」,教给我们哪些PPT写作技巧?
精选综述 | 用于白内障分级/分类的机器学习技术
实践示例理解js强缓存协商缓存
SSRS筛选器的IN运算(即包含于)用法
Chrome开发工具:VMxxx文件是什么鬼
公司要上监控,Zabbix 和 Prometheus 怎么选?这么选准没错!
ICML 2022 | Meta提出鲁棒的多目标贝叶斯优化方法,有效应对输入噪声
The company needs to be monitored. How do ZABBIX and Prometheus choose? That's the right choice!
Introduction to ACM combination counting
原来这才是 BGP 协议
凌云出海记 | 文华在线&华为云:打造非洲智慧教学新方案
华为nova 10系列支持应用安全检测功能 筑牢手机安全防火墙