hash函數
簡單的說,hash函數就是把任意長的輸入字符串變化成固定長的輸出字符串的一種函數。通俗得說,hash函數用來生成信息的摘要。輸出字符串的長度稱爲hash函數的位數。
目前應用最爲廣泛的hash函數是SHA-1和MD5,大多是128位和更長。
hash函數在現實生活中應用十分廣泛。很多下載網站都提供下載文件的MD5碼校驗,可以用來判別文件是否完整。另外,比如在WordPress的數據庫,所有密碼都是保存的MD5碼,這樣即使數據庫的管理員也無法知道用戶的原始密碼,避免隱私泄露(很多人在不同地方都是用的同一個密碼)。
如果兩個輸入串的hash函數的值一樣,則稱這兩個串是一個碰撞(Collision)。既然是把任意長度的字符串變成固定長度的字符串,所以,必有一個輸出串對應無窮多個輸入串,碰撞是必然存在的。
目前應用最爲廣泛的hash函數是SHA-1和MD5,大多是128位和更長。
hash函數在現實生活中應用十分廣泛。很多下載網站都提供下載文件的MD5碼校驗,可以用來判別文件是否完整。另外,比如在WordPress的數據庫,所有密碼都是保存的MD5碼,這樣即使數據庫的管理員也無法知道用戶的原始密碼,避免隱私泄露(很多人在不同地方都是用的同一個密碼)。
如果兩個輸入串的hash函數的值一樣,則稱這兩個串是一個碰撞(Collision)。既然是把任意長度的字符串變成固定長度的字符串,所以,必有一個輸出串對應無窮多個輸入串,碰撞是必然存在的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
阿里雲 MaxCompute 2020-10 月刊
晉恆
2020-11-09 12:19:53
阿里雲 MaxCompute 2020-8 月刊
晉恆
2020-09-04 14:25:55
零基礎開發 nginx 模塊
雲棲號資訊小編
2020-09-03 11:25:52
golang調用python實戰
雲棲號資訊小編
2020-09-03 11:13:56
Python C擴展的引用計數問題探討
雲棲號資訊小編
2020-09-02 11:01:49
阿里雲 MaxCompute 2020-7 月刊
晉恆
2020-08-12 14:01:49
詳解GaussDB(DWS)中的行執行引擎
原創
2024-05-11 11:30:53
數據結構筆記淺記(十三) 哈希表
原創
2024-04-24 23:39:16
基於vite多頁面實現多端同構開發和部署
原創
2024-03-28 00:34:49
vue3 的router跳轉 - 頁面同tab跳轉和打開新tab跳轉
文文1
2024-03-22 14:34:45
詳解GaussDB(DWS)中3個防過載檢查項
原創
2024-03-18 23:17:14