如果你怕文件被篡改,那就這樣做

通過


爲了讓你快速理解對稱和非對稱加密,我煞費苦心...
你應該對對稱加密和非對稱加密有一定的理解了

我們再來思考一下如果你想要在網上發佈一個你自己的文件給別人下載


你怎麼能夠保證
別人下載你的文件沒有問題呢?

圖片

不是說你自己本身的問題
你的文件很屌,沒毛病

但是有這麼一種情況有可能別人下載到的文件並不是你原本發佈的文件

被別人篡改咋整?




那麼我們就要用到
類似 MD5 這樣的加密了

也就是這樣






將你的文件
通過加密生成指紋
在你發佈文件的時候順便把指紋也公佈了
那麼別人下載你這個文件的時候
也通過和你一樣的加密規則進行加密

生成出來的指紋
與你公佈的指紋比對一波
如果指紋相同那就說明這個文件沒有被篡改過









這就是所謂的 Hashin

也叫散列


通過散列函數加密生成的指紋不可逆
除非加密函數太垃圾產生“碰撞”的情況
但一般很少會出現這種情況每一個文件生成的指紋都是唯一的

生成指紋




散列不可逆



這種通過散列函數加密的算法常見的有這麼幾個



         
其實我們去下載軟件的時候官方一般會提供原軟件的指紋

比如這個 Tomcat就用了 pgp 和 sha512 加密的算法


圖片


圖片



所以下載下來的軟件可以通過相應的算法生成指紋進行對比
就不怕被人篡改搞些病毒啥的了

在 python 中有這麼一個庫專門來處理這些算法就是 hashlib
比如我們在這裏下載一下 tomcat 軟件
下載完之後我們就使用 python 校驗一下


python -c "import hashlib,sys;print(hashlib.sha512(open(sys.argv[1],'rb').read()).hexdigest())" apache-tomcat-8.5.43.zip


這時候我們會得到指紋


圖片

圖片



可以看到和官方的一樣說明這個文件沒有被篡改過

圖片

好了,又有問題了
如果小帥b僞裝成你發佈文件給你的朋友
怎麼辦?如何確保對方收到的文件就是你本人發的呢?

先不跟你說下回見



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章