当前位置:网站首页>哈希(Hash)竞猜游戏系统开发功能分析及源码
哈希(Hash)竞猜游戏系统开发功能分析及源码
2022-07-04 18:45:00 【VC_MrsFu123】
哈希(Hash)算法,即散列函数。它是种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。
哈希算法(散列算法或者消息摘要算法)是信息存储和查询所用的项基本技术,它是一种基于Hash函数的文件构造方法,把给定的任意长关键宇映射为一个固定长度的哈希值,一般用于鉴权、认证、加密、索引等。其主要优点是运算简单,预处理时间较短,内存消耗低,匹配查找速度比较快,便于维护和刷新,支持匹配规则数多等。
Hash构造函数的方法
1.直接定址法:
直接定址法是以数据元素关键字k本身或它的线性函数作为它的哈希地址,即:H(k)=k或H(k)=a×k+b;(其中a,b为常数)
2.数字分析法:
假设关键字集合中的每个关键字都是由s位数字组成(u1,u2,…,us),分析关键字集中的全体,并从中提取分布均匀的若干位或它们的组合作为地址。
数字分析法是取数据元素关键字中某些取值较均匀的数字位作为哈希地址的方法。即当关键字的位数很多时,可以通过对关键字的各位进行分析,丢掉分布不均匀的位,作为哈希值。它只适合于所有关键字值已知的情况。通过分析分布情况把关键字取值区间转化为一个较小的关键字取值区间。
3.折叠法:
将关键字分割成若干部分,然后取它们的叠加和为哈希地址。两种叠加处理的方法:移位叠加:将分割后的几部分低位对齐相加;边界叠加:从一端沿分割界来回折叠,然后对齐相加。
所谓折叠法是将关键字分割成位数相同的几部分(最后一部分的位数可以不同),然后取这几部分的叠加和(舍去进位),这方法称为折叠法。这种方法适用于关键字位数较多,而且关键字中每一位上数字分布大致均匀的情况。
折叠法中数位折叠又分为移位叠加和边界叠加两种方法,移位叠加是将分割后是每一部分的最低位对齐,然后相加;边界叠加是从一端向另一端沿分割界来回折叠,然后对齐相加。
哈希性质:
(1)单向性。That is,given an input number,it is easy to calculate its hash value,but given a hash value,the original input number cannot be obtained according to the same algorithm.
(2)弱抗碰撞性。That is,given an input number,it is computationally infeasible to find another hash value to get a given number when using the same method.
(3)强抗碰撞性。That is,for any two different input numbers,it is not feasible to calculate the same hash value according to the same algorithm.
边栏推荐
- kotlin 基本使用
- Pointnext: review pointnet through improved model training and scaling strategies++
- Multi table operation - external connection query
- 为什么最大速度是光速
- 应用实践 | 蜀海供应链基于 Apache Doris 的数据中台建设
- Optimize if code with policy mode [policy mode]
- Lingyun going to sea | 10 jump &huawei cloud: jointly help Africa's inclusive financial services
- Multi table operation inner join query
- Creation of JVM family objects
- Is it necessary to apply for code signing certificate for software client digital signature?
猜你喜欢
What is the application technology of neural network and Internet of things
Neural network IOT platform construction (IOT platform construction practical tutorial)
C server log module
实战模拟│JWT 登录认证
FS4061A升压8.4V充电IC芯片和FS4061B升压12.6V充电IC芯片规格书datasheet
复杂因子计算优化案例:深度不平衡、买卖压力指标、波动率计算
Qt编写物联网管理平台38-多种数据库支持
B2B mall system development of electronic components: an example of enabling enterprises to build standardized purchase, sale and inventory processes
New wizard effect used by BCG
Niuke Xiaobai month race 7 who is the divine Archer
随机推荐
六石编程学:关于代码,有六个得意
Talking about cookies of client storage technology
太方便了,钉钉上就可完成代码发布审批啦!
[problem] Druid reports exception SQL injection violation, part always true condition not allow solution
更强的 JsonPath 兼容性及性能测试之2022版(Snack3,Fastjson2,jayway.jsonpath)
What is involution?
Actual combat simulation │ JWT login authentication
Detailed explanation of Audi EDI invoice message
Application practice | Shuhai supply chain construction of data center based on Apache Doris
Pytoch learning (4)
【毕业季】绿蚁新醅酒,红泥小火炉。晚来天欲雪,能饮一杯无?
Prometheus installation
Decryption function calculates "task state and lifecycle management" of asynchronous task capability
Chrome开发工具:VMxxx文件是什么鬼
How to adapt your games to different sizes of mobile screen
Qt编写物联网管理平台38-多种数据库支持
Chrome development tool: what the hell is vmxxx file
JVM系列之对象的创建
泰山OFFICE技术讲座:关于背景(底纹和高亮)的顺序问题
Template_ Judging prime_ Square root / six prime method