当前位置:网站首页>The remainder operation is a hash function
The remainder operation is a hash function
2022-07-05 04:28:00 【Blue dye k9z】
Hash
Hashes are sometimes translated as hashes .
It is to input any length , Through the hash algorithm , Compressed to a fixed length of output .
- If you want to read and write quickly 100 Ten thousand data records , To achieve high-speed access , But due to the limitation of conditions , We are not able to accommodate 100 Continuous address space of 10000 records , What should I do .
- See if the system can provide several smaller continuous spaces , And each space can store a certain number of records .
- For example, we found 100 A smaller continuous space . in other words , These spaces are separated from each other , But the interior is continuous , And enough to hold 1 Ten thousand records are stored continuously , Then we can use the remainder and congruence theorem to design a hash function , And implement the structure of hash table .
- Suppose there are two records , Their record labels are 1 and 101.
- We put these models 100 Then the remainder is 1 Of , Store in No 1 In a free space .
- And so on , Set the remainder to 2 Of 2、102、202 etc. , Store in No 2 Two free spaces .
- such , We can change according to the fast number of the remainder , Group data , And store them in different address spaces .
- The remainder operation itself is very simple , Therefore, there is little increase in addressing time .
In order to increase the randomness of data hash , You can add a large random number to the formula MAX
Under the action of the new calculation formula , Will be allocated to different available space
Used MAX After this random number , Records allocated to the same space are more “ Random ”, It is more suitable for application scenarios that need to reshuffle the data , Such as encryption algorithm 、MapReduce Data distribution in 、 High speed query and location of records, etc .
encryption
Suppose you want to encrypt a set of three digits , Then set such an encryption rule :
- Start with each three digit number 、 Tens and hundreds , Add a large random number .
- Then divide the number on each by 7, Replace the original... With the remainder 、 Ten 、 Hundreds of digits .
- Finally, the first and third bits are exchanged .
This is a basic encryption transformation process .
If say , We need to encrypt 625, Random number selection 590127.
Na Bai 、 Ten 、 Add this random number to each bit , It becomes 590133 590129 590132, Divide the three by 7 Find the remainder and get 5 1 4.
The final figure is 415.
If the encryption person knows the encryption rules , Then we can calculate that the original data is 625.
( Tips :590127%7=6)
边栏推荐
- [phantom engine UE] only six steps are needed to realize the deployment of ue5 pixel stream and avoid detours! (the principles of 4.26 and 4.27 are similar)
- TPG x AIDU|AI领军人才招募计划进行中!
- Bit operation skills
- PR video clip (project packaging)
- 【UNIAPP】系统热更新实现思路
- 【科普】热设计基础知识:5G光器件之散热分析
- Fuel consumption calculator
- Realize the attention function of the article in the applet
- About the prompt loading after appscan is opened: guilogic, it keeps loading and gets stuck. My personal solution. (it may be the first solution available in the whole network at present)
- 托管式服务网络:云原生时代的应用体系架构进化
猜你喜欢
快手、抖音、视频号交战内容付费
直播预告 | 容器服务 ACK 弹性预测最佳实践
Network security - record web vulnerability fixes
美国5G Open RAN再遭重大挫败,抗衡中国5G技术的图谋已告失败
Key review route of probability theory and mathematical statistics examination
How to get the first few pieces of data of each group gracefully
WeNet:面向工业落地的E2E语音识别工具
Sword finger offer 04 Search in two-dimensional array
3 minutes learn to create Google account and email detailed tutorial!
Threejs Internet of things, 3D visualization of farms (II)
随机推荐
A應用喚醒B應該快速方法
OWASP top 10 vulnerability Guide (2021)
Learning notes 8
NetSetMan pro (IP fast switching tool) official Chinese version v5.1.0 | computer IP switching software download
You Li takes you to talk about C language 7 (define constants and macros)
kubernetes集群之调度系统
Uncover the seven quirky brain circuits necessary for technology leaders
【虚幻引擎UE】运行和启动的区别,常见问题分析
Threejs rendering obj+mtl model source code, 3D factory model
Is there a sudden failure on the line? How to make emergency diagnosis, troubleshooting and recovery
TPG x AIDU | AI leading talent recruitment plan in progress!
[phantom engine UE] the difference between running and starting, and the analysis of common problems
TPG x AIDU|AI领军人才招募计划进行中!
[phantom engine UE] package error appears! Solutions to findpin errors
American 5g open ran suffered another major setback, and its attempt to counter China's 5g technology has failed
A应用唤醒B应该快速方法
[uniapp] system hot update implementation ideas
[finebi] the process of making custom maps using finebi
Open graph protocol
Introduction to RT thread kernel (5) -- memory management