日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、介紹及原理

1.1 簡介

哈希算法(Hash)又稱摘要算法(Digest),它的作用是:對任意一組輸入數據進行計算,得到一個固定長度的輸出摘要。比如JAVA字符串的hashCode()就是哈希算法,輸出是固定的4字節(32位二進制數)int整數,以16進制(一位數表示為4位二進制)表示,因此表達為類似0x7a9d88e8這種八位數的形式,即32除以4等于8。當然不是所有輸出都會帶0x前綴,但是對我們看到輸出的字符串有 e、a、f 等字母就應該自然而然地想到是十六進制。

最簡單的哈希算法就是取模。

1.2 哈希算法特性

  1. 相同的輸入一定得到相同的輸出;
  2. 不同的輸入大概率得到不同的輸出。根據抽屜原理,輸入數據存在無限可能,而輸出有固定范圍,因此一定會存在不同輸入得到相同輸出的情況,即哈希碰撞,碰撞越多,算法越不可靠;
  3. 輸入數據(文件、字符串等)的細微變化能導致輸出的巨大變化;
  4. 不可以根據輸出值推導出輸入值,只能暴力破解;
  5. 執行效率高,哪怕輸入是長文本。

1.3 作用

哈希算法的目的就是為了驗證原始數據是否被篡改。

1.4 常見哈希算法

  • SHA1
  • SHA2,一系列算法的統稱,包括sha256等
  • md5:現已不夠安全

二、如何解決哈希碰撞?

2.1 鏈地址法

 

全方位理解哈希算法及其應用,不再迷茫

 


三、應用

3.1 比較文件是否安全、完整

不如在一些官網下載軟件包,對應版本會有唯一一個哈希值,如下圖:

全方位理解哈希算法及其應用,不再迷茫

 

3.2 安全加密

比如加密用戶密碼。
不要在數據庫明文保存用戶密碼,防止內部人員或者黑客竊取。應該保存密碼的hash值,同時為了避免彩虹庫的碰撞,還應該給每個用戶密碼加不同的鹽(防止密碼相同用戶因為一個用戶密碼被破解而同時遭殃),即保存 hash(password +salt)計算后的值。

比如 HTTPS、CA 證書

3.3 區塊鏈

也可以歸為安全領域,但是值得單獨拿出來講述。

3.4 其它

這里就可以展開腦洞啦。

比如涉及到版權問題,比如圖片。根據文件內容的哈希值判斷是否是相同文件,修改文件名稱和時間沒有用,即使該文件在不同計算機間拷貝,哈希值的計算是針對文件流,即文件內容。

比如上傳大文件到百度網盤時,感覺是秒傳。

比如上傳大文件到服務端的斷點續傳(避免重復上傳)。

分享到:
標簽:算法
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定