簡單理解Hash算法的作用
阿新 • • 發佈:2018-12-05
作用 ash 比較 tps 哈希 長度 服務 指紋 什麽是
由於文件是無限的,而映射後的字符串能表示的位數是有限的。因此可能會存在不同的key對應相同的Hash值。這就是存在碰撞的可能。
Hash算法是不可逆的,即不同通過Hash值逆向推出key的值。
---------------------
作者:時光鐘擺
來源:CSDN
原文:https://blog.csdn.net/u014209205/article/details/80820263
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
什麽是Hash
Hash算法,簡稱散列算法,也成哈希算法(英譯),是將一個大文件映射成一個小串字符。與指紋一樣,就是以較短的信息來保證文件的唯一性的標誌,這種標誌與文件的每一個字節都相關,而且難以找到逆向規律。
舉個列子:
服務器存了10個文本文件,你現在想判斷一個新的文本文件和那10個文件有沒有一個是一樣的。你不可能去比對每個文本裏面的每個字節,很有可能,兩個文本文件都是5000個字節,但是只有最後一位有所不同,但這樣的,你前面4999位的比較就是毫無意義。那一個解決辦法,就是在存儲那10個文本文件的時候,都將每個文件映射成一個hash字符串。服務器只需要存儲10個hash字符串,在判斷的時候,只需要判斷新的這個文本文件的hash值是否和那10個文件的hash值一致,那就可以解決這個問題了。
簡單點說,hash就是將任意長度的消息壓縮成某一固定長度的消息摘要的函數。相當於文件的指紋。
由於文件是無限的,而映射後的字符串能表示的位數是有限的。因此可能會存在不同的key對應相同的Hash值。這就是存在碰撞的可能。
Hash算法是不可逆的,即不同通過Hash值逆向推出key的值。
---------------------
作者:時光鐘擺
來源:CSDN
原文:https://blog.csdn.net/u014209205/article/details/80820263
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
簡單理解Hash算法的作用