当前位置:网站首页>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 .
     Insert picture description here
  • 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 .
     Insert picture description here
    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)
原网站

版权声明
本文为[Blue dye k9z]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207050421393718.html