溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

單向加密的一點思考(md5)

發(fā)布時間:2020-08-27 02:55:48 來源:網(wǎng)絡(luò) 閱讀:1018 作者:天才相師 欄目:網(wǎng)絡(luò)安全

在百度網(wǎng)盤中上傳文件的時候、我發(fā)現(xiàn)那上傳的速度真是一個快。

快到讓我吃驚之外、還多了一份好奇。使用百度上傳文件的時候的用戶體驗是非常不錯的

除了帶寬的問題、這其中是不是還有些別的呢。在我學(xué)習(xí)到的知識當中我自然而然的想到

了單向加密算法(MD5)。

我們知道MD5加密的一個特征就是:雪崩效應(yīng)(一旦被加密的內(nèi)容發(fā)生一丁的點變化、將引起加密結(jié)果巨大的變化)


我們不妨設(shè)想一下:

在用戶的本機電腦上有3個文件(Test1.txt | Test2.txt | Test3.txt)、用戶只是修改了其中的一個:Test3.txt

盡管另外的2個用戶并沒有做任何修改、但是用戶也把它拖入了上傳的隊列當中。


我的思考:

假設(shè)(Test1.txt | Test2.txt | Test3.txt)這3個文件服務(wù)器上已經(jīng)存在一份了、只是Test3.txt這個文件不是最新

的。為了得到最好的用戶體驗最好的做法就是跳過(Test1.txt | Test2.txt)這2個文件,直接上傳Test3.txt就行了。

但是我們首先需要解決的一個問題就是:我們知道Test3.txt被用戶修改了、但是電腦并不清楚。


此處我再次假設(shè)一下:

如果我們有一種方法可以比對(服務(wù)器上已經(jīng)存的文件 和用戶端上需要上傳的同名文件的)特征碼(即:MD5加密結(jié)果)

:如果兩者MD5加密的結(jié)果一致我們就認為該文件沒有被修改、所以不需要上傳。

:如果兩者MD5加密的結(jié)果不一致我們就認為該文件被修改了、需要上傳。

這樣一來本來需要上傳3個文件、現(xiàn)在只需上傳一個文件(被修改的那一個)就可以了、如此一來速度顯然要快上很多了。


總結(jié):

百度網(wǎng)盤上傳速度如此之快 自然離不了那些高大上的技術(shù),并非我所能了解的,此不必多說了。

我的想法有些異想天開,但不并妨礙我求知的欲望... (^V^)


下面是一個有關(guān)于MD5的一個小例子:

第1次向 1.txt 寫入的是"12345678" ;第2次向 1.txt寫入的是 "12345678 "多一個空格.


[root@Director1 wbq]# touch 1.txt

[root@Director1 wbq]# 

[root@Director1 wbq]# echo "12345678" > 1.txt 

[root@Director1 wbq]# 

[root@Director1 wbq]# cat 1.txt

12345678

[root@Director1 wbq]# 

[root@Director1 wbq]# md5sum 1.txt 

23cdc18507b52418db7740cbb5543e54  1.txt

[root@Director1 wbq]# 

[root@Director1 wbq]# md5sum 1.txt 

23cdc18507b52418db7740cbb5543e54  1.txt

[root@Director1 wbq]# 

[root@Director1 wbq]# echo "12345678 " > 1.txt

[root@Director1 wbq]# 

[root@Director1 wbq]# md5sum 1.txt 

0a248abc4cfd2c83de82a5748b141cea  1.txt


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI